2011年2月28日 星期一

括號配對

從"in.txt"中輸入一個包含小括號()及中括號﹝﹞的字串。當字串符合下列條件時我們稱他為正確的運算式:
1.該字串為空字串。
2.如果A為正確的運算式,則(A)及﹝A﹞都為正確的運算式。
3.如果A和B都為正確的運算式,則AB也為正確的運算式。
4.字串最大長度為128個字元
5.輸入檔案的第一列為正整數n,代表接下來有n列的待測資料。
6.檢查每列待測資料,如果正確輸出Yes,否則輸出No。

輸入範例:

(﹝﹞)
((﹝()﹞)))
(﹝()﹝﹞()﹞)()
輸出範例:
Yes
No
Yes


>> http://chscvb.blogspot.com/2010/02/20100217.html

2011年2月22日 星期二

費氏數

由"in.txt"讀取一數字n求出第n個費氏數,費氏數定義如下:
0,當n=0時
f(n)= 1,當n=1時
f(n-1)+f(n-2),當n>=2時
在此列舉一串數列:0、1、1、2、3、5、8、13、21、34、55、89、144、233,這些就是由0<=n<=13所組成的費氏數。
※(0<=n<=1000)

輸入範例:8

輸出範例:21

出自 http://chscvb.blogspot.com/2010/01/20100122.html

2011年2月20日 星期日

SOS

內容 :
由於阿許吹的哨聲根本沒人聽懂,

所以到現在他還是迷失在深山中。

此時,

同樣在深山迷路的小綠跟阿波出現了!

小綠說:阿許!原來是你在吹哨!我還想說是什麼奇怪的聲音呢!

阿波說:哈哈你連哨子都不會吹,求救的哨音應該是幾個短音幾個長音吧 ... 順序我也忘了耶!

這時三個人拿著哨子不知如何是好,請你幫幫忙吧!

給你 n 個短音 m 個長音,輸出這個哨音的所有吹法。

輸入說明 :
每組測試資料包含兩個整數 n, m 。( 0 ≤ n, m ≤ 10 )

輸出說明 :
請輸出 n 個短音 m 個長音的所有排法,

每組輸出之間保留一空行。

範例輸入 :

2 1
3 2
範例輸出 :

SSL
SLS
LSS

SSSLL
SSLSL
SSLLS
SLSSL
SLSLS
SLLSS
LSSSL
LSSLS
LSLSS
LLSSS

2011年2月13日 星期日

2010第一次儲備選手選拔試卷第六題

從指定目錄"in.txt"讀取一數字N,求N!的結果數值中,從右邊算來第一個不是0的數字,輸出至指定目錄"out.txt"。
( 0 < N < 10000 )

輸入範例:10

輸出範例:8

2010第一次儲備選手選拔試卷第五題

數字系統轉換:從指定目錄"in.txt"讀取一正整數,將它轉為16進位後輸出至指定目錄"out.txt"。
(不可使用內定含數轉換)

輸入範例:168

輸出範例:A8

2010第一次儲備選手選拔試卷第四題

電費計算:從指定目錄"in.txt"讀取一數字作為用電度數計算出電費,輸出至指定目錄"out.txt"。
電費算法為:電錶每月租金30元,用電在40度之內,每度2.2元,40度至100度,每度3元,超過100度,每度3.5元。

輸入範例:80

輸出範例:270

2011年2月10日 星期四

龜兔賽跑

「99年烏龜和兔子盃有一跑步大賽」開始了!這次還是有好多烏龜和兔子的朋友來參加,今年的大賽和往年相同,路程全長一公里,每次由烏龜組和兔子組各推派一個選手參加比賽,在槍聲響起後就可以自由地跑,先到達終點者獲勝。因為是友誼賽,所以只要再同一分鐘到達者,就算平手。
輸入檔說明:輸入資料有超過1組的比賽數據,每組3行資料,資料的第1行是一個整數n,範圍從0到20。當n等於0時,代表資料結束。每組資料的第2行有n個整數,由空白分開,範圍從-1000到1000,第i個整數代表烏龜組選手在第i分鐘裡所跑的距離,單位是公尺,如果為正數就是代表往前跑,負數就是往回跑。第3行和第2行相同,不過代表的是兔子組選手的資料。注意::當有任何一方已到達終點時,後面資料應該被忽略。
輸出檔說明:每1組比賽數據應有1組輸出結果,每1組輸出結果應該只有1行字串,代表這一組比賽是誰獲勝(跑的距離先等於或大於1000),烏龜組獲聖則輸出Turtle,兔子組就是Rabbit,平手的話就輸出Same,如果資料結束時比賽還未結束(雙方都還沒到達終點),就輸出Unknow。

輸入範例:
4
200 400 600 600
400 -200 800 -200
6
200 200 200 200 200 200
300 300 0 0 300 300
2
100 100
400 -200
0
輸出範例:
Same
Turtle
Unknow

參考http://chscvb.blogspot.com/2010/02/20100212.html

數列

輸入一大於1的正整數。平方後取其最小的數字為十位數(若為0則無十位數),最大的為個位數,組成一個2位數,再將此數平方,以上述方式再取得下一個數,直到重複才停止,請列出產生的數列,並標明重複的數。如輸入7則得下列結果:
輸入或產生的新數 平方 最小數 最大數 產生的新數
7 49 4 9 49
49 2401 0 4 4
4 16 1 6 16
16 256 2 6 26
26 676 6 7 67
67 4489 4 9 49
*49

※49重複則停止
輸入說明:大於1之正整數
輸出說明:依規則產生的數列,使用"*"標明重複產生之數字。

輸入範例:7

輸出範例:
7 49
49 2401
4 16
16 256
26 676
67 4489
*49 2401



參考http://chscvb.blogspot.com/2010/02/20100211.html

取代字串

讀入任意長度字串(最多50字元),對此字串坐下列處理動作:
(1) 列印出字串長度(使用者輸入的部分)。
(2) 以一個"4*號"字串取代每一個4字母單字,
(3) 以一個"3+號"字串取代每一個3字母單字,
(4) 以一個"5?號"字串取代每一個5字母單字,
並列印新字串。

輸入範例:

Enernet 5-4-3原則

輸出範例:
(1):15
(2):Enernet 5-4*號-3原則
(3):Enernet 5-4-3+號原則
(4): Enernet 5?號-4-3原則



參考 http://chscvb.blogspot.com/2010/02/20100210.html

進位判斷

在小學時我們都做過加法的運算,就是把2個整數向右靠齊。然後由右至左一位一位相加。因為如果相加的結果大於等於10就有進位(carry)出現。你的任務就是要判斷兩個整數相加時,產生了幾次進位的情況。

輸入範例:
555 555
輸出範例:
3


參考: http://chscvb.blogspot.com/2010/02/20100203.html

九九乘法




請由"in.txt"中讀取一整數N(1<=N<=9),利用迴圈配合條件指令,印出九九乘法表的前N列至"out.txt"。
※請注意垂直對齊