b810: 九○七四二的問題之(二)
Tags : 大數相乘 大數相加
Accepted rate : 43人/46人 ( 93% ) [非即時]
評分方式:
Tolerant

最近更新 : 2016-03-06 23:24

Content

 上次說到九○七四二的問題,阿宇把我寫的程式拿給他的朋友看,結果他的朋友說阿宇搞錯他的意思了,所以又帶回修正過的題目來找我,這題有點難,請幫幫忙。

如果輸入的整數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

 

 

 

 

 

 

 

 

 

 

 

 

Input

每個測資只有一行,一個正整數y,  0<y<2016

Output

每個測資只輸出一行,一個正整數, 這個整數的位數可能大於 600 位數

Sample Input #1
範例輸入一
5
範例輸入二
12
範例輸入三
35
範例輸入四
60
範例輸入五
99

Sample Output #1
範例輸出一
48
範例輸出二
13312
範例輸出三
309237645312
範例輸出四
17582052945254416384
範例輸出五
15845632502852867518708790067200
測資資訊:
記憶體限制: 128 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1K
公開 測資點#4 (10%): 1.0s , <1K
公開 測資點#5 (10%): 1.0s , <1K
公開 測資點#6 (10%): 2.0s , <1K
公開 測資點#7 (10%): 2.0s , <1K
公開 測資點#8 (10%): 3.0s , <1K
公開 測資點#9 (10%): 3.0s , <1K
Hint :

大數,可直接模擬大數相加,或有公式解  a * 2^b ,其中a,b與y有關 {大數相乘}

Tags:
大數相乘 大數相加
出處:
[管理者:
p3a_owhj (阿普二信)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」