上次說到九○七四二的問題,阿宇把我寫的程式拿給他的朋友看,結果他的朋友說阿宇搞錯他的意思了,所以又帶回修正過的題目來找我,這題有點難,請幫幫忙。
如果輸入的整數y=5, 是則分成5格,每格由左至右填入 1~5,接著降y-1階,左右兩兩相加,每階少1格,每格相加的數字可以大於10不需再處理,如下表
a1 |
a2 |
a3 |
a4 |
a5 |
|
1 |
2 |
3 |
4 |
5 |
第0階 |
3 |
5 |
7 |
9 |
|
降1階:a1=1+2=>3、a2=2+3=>5、a3=3+4=>7、a4=4+5=>9 |
8 |
12 |
16 |
|
|
降2階:其中a1=3+5=>8、a2=5+7=>12、a3=7+9=>16 |
20 |
28 |
|
|
|
降3階:其中a1=8+12=>20、a2=12+16=>28 |
48 |
|
|
|
|
降4階:其中a1=20+28=>48只剩1格,48就是要輸出的數字 |
再舉例:如果輸入的整數y=12, 是則分成12格,每格由左至右填入 1~12,每降1階兩兩相加如下表,最後1階為13312
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
a8 |
a9 |
a10 |
a11 |
a12 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
3 |
5 |
7 |
9 |
11 |
13 |
15 |
17 |
19 |
21 |
23 |
|
8 |
12 |
16 |
20 |
24 |
28 |
32 |
36 |
40 |
44 |
|
|
20 |
28 |
36 |
44 |
52 |
60 |
68 |
76 |
84 |
|
|
|
48 |
64 |
80 |
96 |
112 |
128 |
144 |
160 |
|
|
|
|
112 |
144 |
176 |
208 |
240 |
272 |
304 |
|
|
|
|
|
256 |
320 |
384 |
448 |
512 |
576 |
|
|
|
|
|
|
576 |
704 |
832 |
960 |
1088 |
|
|
|
|
|
|
|
1280 |
1536 |
1792 |
2048 |
|
|
|
|
|
|
|
|
2816 |
3328 |
3840 |
|
|
|
|
|
|
|
|
|
6144 |
7168 |
|
|
|
|
|
|
|
|
|
|
13312 |
|
|
|
|
|
|
|
|
|
|
|
每個測資只有一行,一個正整數y, 0<y<2016
每個測資只輸出一行,一個正整數, 這個整數的位數可能大於 600 位數
5
48
12
13312
35
309237645312
60
17582052945254416384
99
15845632502852867518708790067200
大數,可直接模擬大數相加,或有公式解 a * 2^b ,其中a,b與y有關 {大數相乘}
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|