2012年2月25日 星期六

簡易大數加法

求兩筆數字N的和。 (N為正整數,長度不限)



輸入:

9999999999999999999999999999999999999999999999999999999999999999999999999999
1000


輸出:

10000000000000000000000000000000000000000000000000000000000000000000000000999

進位判斷

加法的運算是把2 個整數靠右對齊,然後由右至左,一位一位相加。如果相加的結果大於等於10 就有進位(carry)發生。請寫個程式來判斷兩個正整數相加時,產生了幾次進位的情況。

輸入說明:
第一行的數字,表示有幾組測試資料,第二行開始的每一行即為一筆測試資料。每一行
輸入的資料有兩個正整數,以一個空格分開,每個整數的長度均小於100 位數。
輸出說明:
對每一筆測試資料,輸出相加後有幾次進位的次數。
輸入範例:
2
123 456
555 555

2012年2月21日 星期二

密碼解密

在密碼學裡面有一種很簡單的加密方式,就是把原始資料的每個字元通通加上某一個整數K而得到密碼的字元(原始資料及密碼字元一定都在ASCII碼中可列印的範圍內)。例如若K=2,那麼apple經過加密後就變成crrng了;解密則是反過來做。
輸入說明:第一列為加密的K值,第二列為要解密的列數,第三列及以後就是需要解密的字串。(請參照輸入範例)
輸入範例:in.txt
7
3
1JKJ'pz'{ol'{yhklthyr'vm'{ol'Jvu{yvs'Kh{h'Jvywvyh{pvu5
1PIT'pz'h'{yhklthyr'vm'{ol'Pu{lyuh{pvuhs'I|zpulzz'Thjopul'Jvywvyh{pvu5
1KLJ'pz'{ol'{yhklthyr'vm'{ol'Kpnp{hs'Lx|pwtlu{'Jvywvyh{pvu5
輸出說明:對每一測試資料,請輸出解密後的原始資料。(請參照輸出範例)
輸出範例:out.txt
*CDC is the trademark of the Control Data Corporation.
*IBM is a trademark of the International Business Machine Corporation.
*DEC is the trademark of the Digital Equipment Corporation.

2012年2月20日 星期一

計算平均值

給你一組數字,請寫一個程式計算出這組數字的平均值,四捨五入至小數第2 位。
輸入說明:
第一行的數字,代表有幾個問題要求解。第二行開始的每一行,為一個獨立的問題。每
一行的第一個整數為這個問題所屬數字的數目n,其範圍為[2, 100]間的整數。接下來的n 個
整數,分別代表這n 個數字的數值,數值範圍為[1, 100]間的整數。
輸出說明:
對輸入的每個問題,分別以一行輸出平均數,輸出的格式請四捨五入至小數第二位。
輸入範例:
2
5 2 4 6 8 10
3 52 30 61
輸出範例:
6.00
47.67

2012年2月19日 星期日

找出文章中使用的英文單字字數

現在網際網路盛行,網路使用者可以利用搜尋引擎找出特定的網路資訊。在搜尋技術中,關鍵字搜尋是最常見的方法。建立關鍵字有很多種不同的方法,其中一種方法是找出使用的單字來當作關鍵字。本題就是要請你寫一個程式,可以在一段英文文章中,找出使用的英文單字字數。

輸入說明:

第一行是要建立關鍵字的英文文章篇數,第二行開始為英文文章的內容。每篇文章之間,以一行空白作為區隔。在建立關鍵字時,我們簡化一些文法上的規則,每個英文單字與英文單字之間,扣除標點符號之後,以空白作為區別,稱之為一個單字,大小寫視為相同。使用到的標點符號則包括下列三個:『,』,『.』,以及『:』。

輸出說明:

對輸入的每篇文章,分別以一行輸出使用的英文字字數。

輸入範例:
2
He works hard from morning till night. He is a hard worker.
I once heard him speaking in English. He is a very good speaker of English .
輸出範例:
10
14

2012年2月18日 星期六

字串處理

給一個字串,請寫一個程式,計算此字串中,英文字元有幾個?
輸入說明:
輸入檔第一行表示有幾組測試資料,第二行開始的每一行即為一筆測試資料,每行最多
有1000 個字元。
輸出說明:
對每一筆測試資料,輸出字串中英文字元的個數。
輸入範例:
2
abc123def456
133adfag3428a2fwqgq2
輸出範例:
6
11

2012年2月17日 星期五

數列

輸入一大於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

2012年2月15日 星期三

費氏數

由"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

2012年2月13日 星期一

用正方體填滿

在進入社會找工作時,通常會經過面試的過程,來決定是否要錄用這個人。假設今天你

去一家程式設計公司面試,面試的主考官出了一道題目。請你設計一個程式來解決下面的問題:
給你一個長方體,請問最少要用幾個大小相同的正方體,才能把這個長方體填滿,你可以使用的正方體大小不限,長方體及正方體的邊長必須均為正整數。
輸入說明:
第一行的數字,代表有幾個長方體。第二行開始的每一行,記錄了每個長方體長寬高的邊長,邊長的範圍為[1, 1000]間的整數。
輸出說明:
對輸入的每個長方體,分別以一行輸出所使用正方體的個數。
輸入範例:
2
4 6 8
3 5 7
輸出範例:
24
105

判斷是否為11 的倍數

給一個正整數n,請寫一個程式,判斷n 是否為11 的倍數?
輸入說明:
第一行的數字,表示有幾組測試資料,第二行開始即為第一筆測試資料。每筆測試資料
為一個正整數,數字的位數,最高有可能到1000 位。
輸出說明:
對每一筆測試資料,輸出是否為 11 的倍數。是的話請輸出1,反之則輸出0。
輸入範例:
2
24841983960
121

輸出範例:
0
1