2010年10月18日 星期一

Eva 的回家作業

內容 : 正體->简体 
  Eva的家庭作業裏有很多數列填空練習。填空練習的要求是:已知數列的前四項,填出第五項。因 為已經知道這些數列只可能是等差或等比數列,她決定寫一個程式來完成這些練習。
輸入說明 :
第一行是數列的數目t(0 <= t <= 20)。 以下每行均包含四個整數,表示數列的前四項。 約定數列的前五項均為不大於105的自然數,等比數列的比值也是自然數。
輸出說明 :
對輸入的每個數列,輸出它的前五項。
範例輸入 :
1 2 3 4 
1 2 4 8 
範例輸出 :
1 2 3 4 5 
1 2 4 8 16 

2010年10月11日 星期一

空間切割

內容 :
對任意正整數n,空間中的n 個平面最多可將空間切成幾個區域?
輸入說明 :

1
2
範例輸出 :

4

2010年10月8日 星期五

抽紙牌(poker)

內容 : 
假設桌上放了一疊紙牌,這疊紙牌是從同一副完整的 52 張撲克牌 (不含鬼牌) 中任意抽出來的 N 張牌,且尚未經任何順序排列。
現在我們要從這 N 張牌中,找出其中依大小排列後的第 M 大的牌。
數字大小依據 K > Q > J > 10 > … > 2 > A 的順序排列。
若兩張牌數字相同,則依花色決定大小,且依 黑桃(S) > 紅心(H) > 方塊(D) > 梅花(C) 的順序排列。
輸入說明 :
輸入檔中的第一行為一個正整數 N ,代表有 N 張牌。
第二行則有 2N 個以空白相間隔的大寫英文字母或數字
每兩個相鄰的字母或數字代表一張牌的花色和數字大小
第三行則有一個正整數 M,代表我們要找的是第 M 大的牌。
為簡化起見,我們假設 N ≦ 52,1 ≦ M ≦ N,且不會有兩張花色和數字皆相同的牌重複出現。
輸出說明 :
印出第 M 大的牌
格式為 "花色 數字"
範例輸入 :help
S 1 H 9 D 9 H 13 S 12 
2 
範例輸出 :
S 12

在凸多邊型內或外

內容 : 
在數學上所謂 "凸多邊形" ,是各頂點夾角皆小於180的多邊形。如下圖(1)、(2)即為凸多邊形,圖(3)則否。

請寫一程式,使能輸入一個n邊的凸多邊形(3<=n<=50),其各頂點座標須依序逐一輸入,可能為順時針或逆時針方向,以判斷平面直角座標中的某個測試點 Ptest(x,y) 是否落在此凸多邊形內部。(若該點落在凸多邊形的邊上,則亦視為內部。)
輸入說明 :
輸入檔中有多組測試資料。
1.先輸入該凸多邊形的點數n (3<=n<=50)
2.再依序輸入凸多邊形的各點座標,可能為順時針或逆時針方向。
3.最後再輸入測試點 Ptest(x,y)
輸出說明 :
1.若測試點落在凸多邊形內,則輸出 "IN" 。
1.若測試點落在凸多邊形外,則輸出 "OUT" 。 
範例輸入 :help
0,0 
5,0 
0,5 
5,5 
0,0 
0,2 
2,2 
2,0 
1,1 
3,0 
3,3 
0,3 
-3,0 
0,-3 
0,0
範例輸出 :
 OUT
 IN
 IN

數列最小值

內容
輸入一數列(X1,X2,...,Xn),找到整數A(有可能有多個解),使得( |X1-A| + |X2-A| + ... + |Xn-A| ) 為最小值。
輸入說明
每一組測試資料以一個數n(0<=1000000)開始,n代表數列中的數的個數。 接下來為這n個數,這些數都大於等於0
輸出說明
輸出A所有可能的值。
範例輸入 help
2
10
10
4
2
2
3
4
範例輸出
A=10
A=23

密碼驗證與擷取

內容 : 
  小明參加寒假的冬令營,闖關活動中有一關是猜密碼遊戲。首先關主會給闖關者一組阿拉伯數字組成的字串,闖關者要先判斷它是否是不是真正藏有密碼的字串,藏有密碼的字串有下列特性:
  1.它由阿拉伯數字1,2,3,4,5,6,7,8,9組成,且長度介於10至30字元之間。
  2.它必須是迴文(palindrome)字串,也就是不論從左到右或從右到左都是一樣的字串,它可以是奇數或偶    數個字元。例如:12345654321、3344554433等。
  3.字串中兩兩接連的數字之間,後面的數字一定不會大於前面的數兩唄。例如:22221512222 就不是一個    藏有密碼的字串,因為'5'大於'1'的兩倍。
  當闖關者確定藏有密碼時,只要將字串中的偶數字元挑出,就可以得到密碼順利過關了。舉個例子來說:若輸入的字串是 42643734624 ,雖然它是一個迴文字串,但是字串中的第三個數字'6'大於第二個數字'2'的二倍,第六個數字'7'也大於第五個數字'3'的二倍,所以它就不是一個藏有的密碼字串。另外,若輸入的字串是 423435534324 ,它不但是一個迴文字串,且兩兩接連的數字之間,後面的數字一定不會大於前面數字的二倍,所以它就是一個藏有的密碼字串,而藏在此字串中的密碼就是 424424(密碼由字串中偶數的數字所組成,如此例中畫底線的部分→423435534324)。你可以寫一個程式協助小明快速的解出密碼嗎?
輸入說明 :
輸入字串只有一行,由阿拉伯數字1,2,3,4,5,6,7,8,9組成,長度介於10至30字元之間。
輸出說明 :
第一行輸出密碼。輸入字串並非藏有密碼的字串,輸出"INCORRECT"訊息。輸入字串若為藏有密碼的字串,但字串中並無包含偶數,輸出"0"。
範例輸入 :help
輸入範例一: 154321123451 
輸入範例二: 123456777654321
範例輸出 :
輸出範例一: INCORRECT 
輸出範例二: 246642

2010年10月4日 星期一

Oh! My Zero!!

內容 
階層運算是很令人頭疼的,因此我们要想方設法地把它簡化。
輸入說明 :
输入檔可能有大量的數據。
每一个输入檔输入一个不算很大的數 n (请用 long)。
輸出說明 :
輸出 n!的末尾零的個數。
範例輸入 :
10
範例輸出 :
2
提示 :
1!=1 末尾有0個零;
2!=2 末尾有0個零;
10!=3628800 末尾有2個零。