試寫一程式,以輸入一字串,其長度 (含空白), 最長為81個字元,然後檢驗該語言串中之母音 (A,E,I,O,U,a,e,i,o,u),並將之刪除,且該 些母音之位置由後續之字元向前位移予以佔用而不留下空白,例:輸入
"Mary^Lives^IN^300,^Born^St.,^Chungli,^Taiwan,^R.^O.^C." 其中"^" 表示空一個位置。
經刪除母音後成為 "Mry^Lvs^N^300,^Brn^St.,^Chngl,^Twn,^R.^.^C." ;然後將輸入之字串與刪除母音後之字串同時列印於報表。
測試資料:(請將下列文章存於檔案中,以讀檔案的方式來設計程式)
" He Sells Sea Shells by the Seashore."
" I don't know how to Complete the testing Program."
" The men who spead ill of others will take no
advantage of others in the last."
2010年3月5日 星期五
2010/03/02 蝸牛爬竿問題(snail)
問題敘述
蝸牛沿著竹竿底部往上爬,繳幾天可以爬到竹竿頂端呢?先看看以下的範例:
一隻蝸牛從6 公尺長的竹竿底部往上爬,已知這隻蝸牛從太陽出來到太岔下山可以往上爬3 公尺,太陽下山後到隔天太陽昇起前是蝸牛的休息時間,在這段休息時間內蝸牛會下滑1 公尺。而且,蝸牛的疲勞系為10 (%),這表示從第二天開始,蝸牛每天都會少爬3 * 10 % = 0.3 公尺。請問蝸牛在第幾天以爬到竹竿頂端呢?
從下表可以看出這隻蝸牛在第三天可以爬到竹竿的頂端。天數起始高度可爬行距離累積高度下滑後高度
1 0.0 3.0 3.0 2.0
2 2.0 2.7 4.7 3.7
3 3.7 2.4 6.1
你的任務是找出蝸牛爬竿的通解,根據下列條件限制算出蝸牛在第幾天時可以順利爬到竹竿頂端或是失敗?
條件限制
1. 竹竿的高度介於6 ~ 100 公尺之間。
2. 第一天可以往上爬行的距離介於0 ~ 100 公尺之間。
3. 休息時下滑距離介於0 ~ 99 公尺之間。
4. 疲勞系數介於0 ~ 99 (%) 之間。
5. 爬行過程㆗如果下滑觸地 (高度<= 0),則判定為失數(Fail)。
輸入檔格式
輸入檔可以是一個或是多個狀況,每行代表一個狀況。每行包含四個正整數 H、U、D 和F 各以一個空白隔開;當H = 0 時代表輸入檔的結束,否則H 代表竹竿的高度,U 代表第一天蝸牛可以爬行的距離,D 代表蝸牛休息時下滑的距離,F 代表疲勞係數。
輸出檔格式
對於每一個測試狀況,輸出檔都要輸出一行判斷蝸牛成功(success)或是失敗(fail),以及這是發生在第幾天,格式如輸出範例。
輸入範例
6 3 1 10
10 2 1 50
12 6 3 10
0 0 0 0
輸出範例
success on day 3
fail on day 3
success on day 5
蝸牛沿著竹竿底部往上爬,繳幾天可以爬到竹竿頂端呢?先看看以下的範例:
一隻蝸牛從6 公尺長的竹竿底部往上爬,已知這隻蝸牛從太陽出來到太岔下山可以往上爬3 公尺,太陽下山後到隔天太陽昇起前是蝸牛的休息時間,在這段休息時間內蝸牛會下滑1 公尺。而且,蝸牛的疲勞系為10 (%),這表示從第二天開始,蝸牛每天都會少爬3 * 10 % = 0.3 公尺。請問蝸牛在第幾天以爬到竹竿頂端呢?
從下表可以看出這隻蝸牛在第三天可以爬到竹竿的頂端。天數起始高度可爬行距離累積高度下滑後高度
1 0.0 3.0 3.0 2.0
2 2.0 2.7 4.7 3.7
3 3.7 2.4 6.1
你的任務是找出蝸牛爬竿的通解,根據下列條件限制算出蝸牛在第幾天時可以順利爬到竹竿頂端或是失敗?
條件限制
1. 竹竿的高度介於6 ~ 100 公尺之間。
2. 第一天可以往上爬行的距離介於0 ~ 100 公尺之間。
3. 休息時下滑距離介於0 ~ 99 公尺之間。
4. 疲勞系數介於0 ~ 99 (%) 之間。
5. 爬行過程㆗如果下滑觸地 (高度<= 0),則判定為失數(Fail)。
輸入檔格式
輸入檔可以是一個或是多個狀況,每行代表一個狀況。每行包含四個正整數 H、U、D 和F 各以一個空白隔開;當H = 0 時代表輸入檔的結束,否則H 代表竹竿的高度,U 代表第一天蝸牛可以爬行的距離,D 代表蝸牛休息時下滑的距離,F 代表疲勞係數。
輸出檔格式
對於每一個測試狀況,輸出檔都要輸出一行判斷蝸牛成功(success)或是失敗(fail),以及這是發生在第幾天,格式如輸出範例。
輸入範例
6 3 1 10
10 2 1 50
12 6 3 10
0 0 0 0
輸出範例
success on day 3
fail on day 3
success on day 5
2010年3月1日 星期一
2010/03/01大數運算
在大多數的程式語言中,一個整數通常只有32位元,就算是使
用無號的整數,仍然最大只能表示232-1。若要表示一個大於232-1的
整數該怎麼辦呢?答案就是採用大數。本題要求寫出一個大數運算的
程式,可以對二個50位數以內的10進制非負整數作乘法或除法的運
算。除法運算時,毋須考慮除數為0的情形,並僅需算出商數。
輸入說明 :
第一行輸入一個字串,表示被乘數或被除數,其為一個50位數
以內的10進制非負整數。
第二行輸入運算符號 * 或 /,分別表示乘法或除法運算。
第三行輸入一個字串,表示乘數或除數,其為一個50位數以內
的10進制非負整數。當執行除法運算時,除數為正整數。
輸出說明 :
印出運算結果。
範例輸入 :
若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
12346587987654321
*
98765432123456789
12345678901234567890
/
1234567890
範例輸出 :
1219416097850959788293446112635269
10000000001
2010年2月26日 星期五
2010/02/26 奇數階魔方陣
Problem Description
所謂的 n階魔方陣,就是把1到n 的這n 個 連續的正 整數填到一個 n×n的方陣中,使得每一列的和、每一行的和、以及兩個對角線的和都相等。請設計一個程式可以完成n為奇數的魔方陣。
Input
n (奇數)
Output
奇數階魔方陣
Sample Input
請輸入 n: 5
Sample Output
17 , 24 , 1 , 8 , 15
23 , 5 , 7 , 14 , 16
4 , 6 , 13 , 20 , 22
10 , 12 , 19 , 21 , 3
11 , 18 , 25 , 2 , 9
所謂的 n階魔方陣,就是把1到n 的這n 個 連續的正 整數填到一個 n×n的方陣中,使得每一列的和、每一行的和、以及兩個對角線的和都相等。請設計一個程式可以完成n為奇數的魔方陣。
Input
n (奇數)
Output
奇數階魔方陣
Sample Input
請輸入 n: 5
Sample Output
17 , 24 , 1 , 8 , 15
23 , 5 , 7 , 14 , 16
4 , 6 , 13 , 20 , 22
10 , 12 , 19 , 21 , 3
11 , 18 , 25 , 2 , 9
2010/02/25 二元搜尋樹 -前序(難題未解)
由使用者輸入 N筆資料,建立一個Binary Search Tree(二元搜尋樹),再以preorder的方式將資料列印出來 。
Input
N
Output
preorder的順序列印出來的資料
Sample Input
7
4
1
5
12
8
13
11
Sample Output
7
4
1
5
12
8
11
13
Input
N
Output
preorder的順序列印出來的資料
Sample Input
7
4
1
5
12
8
13
11
Sample Output
7
4
1
5
12
8
11
13
2010年2月25日 星期四
2010/02/22 學生成績的排名次
說明:請寫一個程式,老師可以輸入全班的「程式設計」成績,並依總分來排名次,學生人數不超過50人。
輸入格式:依學號輸入學科「程式設計」的成績1-50比。 學號與成績已1個空白隔開
輸出格式:輸入之資料排名表,依學號的順序輸出,同分者名次必須相同,第二行起為學生學號、成績與名次,各以七個空白隔開。
輸入範例:
1 56
2 88
3 44
4 44
5 22
輸出:
學號 程式設計 名次
1 56 2
2 88 1
3 44 3
4 44 3
輸入格式:依學號輸入學科「程式設計」的成績1-50比。 學號與成績已1個空白隔開
輸出格式:輸入之資料排名表,依學號的順序輸出,同分者名次必須相同,第二行起為學生學號、成績與名次,各以七個空白隔開。
輸入範例:
1 56
2 88
3 44
4 44
5 22
輸出:
學號 程式設計 名次
1 56 2
2 88 1
3 44 3
4 44 3
2010年2月23日 星期二
2010/02/23整數分割方式(難題未解)
對於一個正整數N而言,他的一個分割,就是N寫成若干個整數的和,但不計較書寫的順序。
請寫一個程式,輸入N 把N 所有分割列出來
輸入
N=7
輸出
6 1
5 2
5 1 1
4 3
4 2 1
4 1 1 1
3 2 2
32 1 1
3 1 1 1 1
2 1 1 1 1 1
1111111
請寫一個程式,輸入N 把N 所有分割列出來
輸入
N=7
輸出
6 1
5 2
5 1 1
4 3
4 2 1
4 1 1 1
3 2 2
32 1 1
3 1 1 1 1
2 1 1 1 1 1
1111111
訂閱:
文章 (Atom)