2012年11月20日 星期二

笨小猴


內容:
笨小猴的詞彙量很小,所以每次做英語選擇題的時候都很頭疼。 但是他找到了一種方法,經試驗證明,用這種方法去選擇選項的時候選對的機率非常大!
這種方法的具體描述如下:假設maxn是單詞中出現次數最多的字母的出現次數,minn是單詞中出現次數最少的字母的出現次數,如果maxn-minn是一個質數,那麼笨小猴就認為這是個Lucky Word,這樣的單詞很可能就是正確的答案。
輸入說明:
輸入只有一行,是一個單詞,其中只可能出現小寫字母,並且長度小於100
輸出說明:
輸出共兩行,第一行是一個字符串,假設輸入的的單詞是Lucky Word,那麼輸出“Lucky Word”,否則輸出“No Answer”;
第二行是一個整數,如果輸入單詞是Lucky Word,輸出maxn-minn的值,否則輸出0
範例輸入:
範例1: error
範例2: olymipic
範例輸出:
範例1: Lucky Word 2
範例2: No Answer 0
提示:

單詞error中出現最多的字母r出現了3次,出現次數最少的字母出現了1次,3-1=22是質數。


單詞olymipic中出現最多的字母i出現了2次,出現次數最少的字母出現了1次,2-1=11不是質數。

1 則留言:

  1. Dim strr As String
    Dim max, min, ori, mycount As Integer
    Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Do
    max = 0
    min = 99
    Input #1, strr
    ori = Len(strr)
    For i = 97 To 122
    strr = Replace(strr, Chr(i), "")
    If ori - Len(strr) > max Then max = ori - Len(strr)
    If ori - Len(strr) < min And ori - Len(strr) <> 0 Then min = ori - Len(strr)
    ori = Len(strr)
    If Len(strr) = 0 Then Exit For
    Next

    For ii = 1 To max - min
    If (max - min) Mod ii = 0 Then mycount = mycount + 1
    If mycount > 2 Or max - min = 1 Then Print #2, "No Answer 0": mycount = 0: Exit For
    Next
    If mycount = 2 Then Print #2, "Lucky Word" & max - min: mycount = 0

    Loop Until EOF(1)
    Close #2
    Close #1
    End
    End Sub

    回覆刪除