2012年4月6日 星期五

笨小猴

內容:
笨小猴的詞彙量很小,所以每次做英語選擇題的時候都很頭疼。 但是他找到了一種方法,經試驗證明,用這種方法去選擇選項的時候選對的機率非常大!
這種方法的具體描述如下:假設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不是質數。

2012年4月5日 星期四

總和檢查

請檢查一個數列中,尋找任兩個數字相加後的和是否會等於輸入的檢查值。
例如,有一個數列為8,20,27,17,13,28,35,31,若輸入的檢查值為48,會找到20及28兩個數,相加的和為48;反之若輸入的檢查值為50,則會找不到配對的數字。
輸入說明:
輸入之第一列為下一列數列中的個數,第二列為數列資料。每個數字與數字間的區隔為一個空白符號。第三列及以後的資料為輸入的檢查值,每一列有一個檢查值,當為0時表示結束。
輸入範圍:
輸入的數列最少有2個數字,最多不超過100個。每個數列中的數字皆大於0,小於1000,且不重覆。
輸入範例:in.txt
8
8 20 27 17 13 28 35 31
48
50
59
0
輸出說明:
每個檢查值有一個輸出結果,若有匹配的檢查值,則輸出為1,反之為-1。
輸出範例:out.txt
1
-1
1

2012年4月2日 星期一

VB101小考 第1次

VB101小考 第1次


1.從檔案(in1.txt)裡讀出所有的數字(不定個數),降冪排序,輸出到檔案(out1.txt)。

2.山寨版的費氏函數。
  S(1)=10
  S(2)=-3
  S(n)=S(n-1) - S(n-2),當n>=3。
  從檔案(in2.txt)裡讀出單一個n,將S(n)的值,輸出到檔案(out2.txt)。

3.請找出某4位數的值,等於每個數字的立方和的數。全部輸出到檔案(out3.txt),若無,請輸出0000。

4.請隨機將撲克牌的52張牌,分給4個玩家。輸出到檔案(out4.txt),每次執行的結果需要不同。
 撲克牌的表示法,數字大小為(A,2,3,4,5,6,7,8,9,10,J,Q,K),花色的表示法為(黑桃,紅心,紅鑽,黑花)。
  輸出的檔案有4行,每行13張牌,不用排序。例:紅心J  黑花K  紅心2  紅鑽3 …


另說明,小考不附輸入檔(in1.txt等),請自行建立。

2012年3月30日 星期五

矩陣的翻轉

內容 :
已知一(m x n)矩陣A,我們常常需要用到另一個將A中之行與列調換的矩陣。這個動作叫做矩陣的翻轉。舉例來說,若
A =[312]
854
AT =[38]
15
24

現在 請您針對所讀取到的矩陣進行翻轉。
輸入說明 :
第一行會有兩個數字,分別為 列(row)<100 和 行(column)<100,緊接著就是這個矩陣的內容
輸出說明 :
直接輸出翻轉後的矩陣
範例輸入 :
2 3 
3 1 2 
8 5 4
範例輸出 :
3 8 
1 5 
2 4

2012年3月26日 星期一

文字抄寫

內容 :
從機器中,不斷地出現4個英文字母的單字,現在要你抄寫下來,
倘若這個單字已經出現過,則會使用編號上的號碼直接書寫
倘若這個單字沒有出現過,則會賦予單字一個新的號碼


每組新的測資,代表不同事件,請勿將其納入新的號碼
輸入說明 :
每組輸入的第一行 , 有一個數字 N (1≦N≦105),接下來會有瘋狂科學家講出的N行單字,每行由小寫字母a到z所構成的4字單字.

輸出說明 :
若這個字串之前已經出現過,則輸出號碼,若沒有則輸出它將被編寫的號碼.
範例輸入 :
5 
eine 
isis 
zwei 
drei 
zwei
範例輸出 :
New! 1 
New! 2 
New! 3 
New! 4 
Old! 3

節約符咒

梅蘭城的法師們研究出了一種魔法道具:符咒。
即便是未曾學習魔法的人,
只要念出符咒上獨特的咒語就能施展特定魔法,
並且該咒語的魔力就會消失。
現在為了訓練新進的法師,需要使用大量的符咒。
但是梅蘭城(不事生產的)法師們並不會造紙這種技術,必須從首都艾克隆購買。
在紙張有限的情況下,
必須按照特定的規則來記述這些為數龐大的咒語才行。
假設有一張地震術符咒的內容是:aaabb
咒語是由三個a和兩個b所組成,所以在符咒上的記述內容必須改成:3a2b
並且咒語的每個字都是有順序的,假如符咒治癒術是xxxyywwyy的話,必須記作3x2y2w2y,"y"的部分不能記作4y
如果採取這個格式後沒有得到咒文的節約,那麼就選擇直接使用原本的咒語就可以了。
然而…
越強的法術寫出來的咒文就會越臭長!快寫個程式幫助魔法師節約咒文吧!
(他們總是基於好奇喜歡對電腦這東西施展破壞性的閃電魔法,所以沒人知道怎麼寫程式。)


輸入說明 :
第一行有正整數n(1<=n<=10000000),表示原本咒文的長度(以字元為單位)
第二行則是咒文的內容連續的n個字元。
其中咒文的字元是由小寫字母所組成。

輸出說明 :
如果簡化過的咒文長度小於原咒文,則輸出簡化版本
如果簡化後和原咒文字數相同甚至更多,則輸出原咒文

範例輸入 :
20 
aaaaabbbbbcccccaabba 
3 
abc
範例輸出 :
5a5b5c2a2b1a 
abc

2012年3月14日 星期三

簡易大數減法

輸入兩數N1、N2,做大數的減法。 (N1、N2皆無限制)

輸入:
1000000000000000000000000
1

輸出:
999999999999999999999999