原文: http://acm.timus.ru/problem.aspx?space=1&num=1295
針對輸入的整數n, 計算 1**n + 2**n + 3**n + 4**n 以0結尾的個數. (如 n = 3, 100 結尾爲2)
Input
Output
Samples
input | output |
---|---|
1 |
1 |
3 |
2 |
這是一類常見的"計算"類. (找規律是其中的代表, 這類問題如果能找到n的條件規律 就迎刃而解了)
我會先輸出前面的若干項 看看有沒有什麼規律
前125項.
=begin
1 : 1 ----- 2 : 1 ----- 3 : 2 ----- 4 : 0 -----
5 : 2 ----- 6 : 1 ----- 7 : 2 ----- 8 : 0 -----
9 : 1 ----- 10 : 1 ----- 11 : 2 ----- 12 : 0 -----
13 : 1 ----- 14 : 1 ----- 15 : 2 ----- 16 : 0 -----
17 : 1 ----- 18 : 1 ----- 19 : 2 ----- 20 : 0 -----
21 : 1 ----- 22 : 1 ----- 23 : 2 ----- 24 : 0 -----
25 : 2 ----- 26 : 1 ----- 27 : 2 ----- 28 : 0 -----
29 : 1 ----- 30 : 1 ----- 31 : 2 ----- 32 : 0 -----
33 : 1 ----- 34 : 1 ----- 35 : 2 ----- 36 : 0 -----
37 : 1 ----- 38 : 1 ----- 39 : 2 ----- 40 : 0 -----
41 : 1 ----- 42 : 1 ----- 43 : 2 ----- 44 : 0 -----
45 : 2 ----- 46 : 1 ----- 47 : 2 ----- 48 : 0 -----
49 : 1 ----- 50 : 1 ----- 51 : 2 ----- 52 : 0 -----
53 : 1 ----- 54 : 1 ----- 55 : 2 ----- 56 : 0 -----
57 : 1 ----- 58 : 1 ----- 59 : 2 ----- 60 : 0 -----
61 : 1 ----- 62 : 1 ----- 63 : 2 ----- 64 : 0 -----
65 : 2 ----- 66 : 1 ----- 67 : 2 ----- 68 : 0 -----
69 : 1 ----- 70 : 1 ----- 71 : 2 ----- 72 : 0 -----
73 : 1 ----- 74 : 1 ----- 75 : 2 ----- 76 : 0 -----
77 : 1 ----- 78 : 1 ----- 79 : 2 ----- 80 : 0 -----
81 : 1 ----- 82 : 1 ----- 83 : 2 ----- 84 : 0 -----
85 : 2 ----- 86 : 1 ----- 87 : 2 ----- 88 : 0 -----
89 : 1 ----- 90 : 1 ----- 91 : 2 ----- 92 : 0 -----
93 : 1 ----- 94 : 1 ----- 95 : 2 ----- 96 : 0 -----
97 : 1 ----- 98 : 1 ----- 99 : 2 ----- 100 : 0 -----
101 : 1 ----- 102 : 1 ----- 103 : 2 ----- 104 : 0 -----
105 : 2 ----- 106 : 1 ----- 107 : 2 ----- 108 : 0 -----
109 : 1 ----- 110 : 1 ----- 111 : 2 ----- 112 : 0 -----
113 : 1 ----- 114 : 1 ----- 115 : 2 ----- 116 : 0 -----
117 : 1 ----- 118 : 1 ----- 119 : 2 ----- 120 : 0 -----
121 : 1 ----- 122 : 1 ----- 123 : 2 ----- 124 : 0 -----
125 : 2 -----
=end
規律:
mode 4 爲0 的整數 4, 8, 12 ,... 結果爲0
mode 4 爲3 的整數 3,103, 19, ... 結果爲3
mode 4 爲2 的整數 2, 6, ... 結果爲1
**mode 4爲1** 需要分類討論 像 5, 25, 45, 65 這些 (n-5) % 20 == 0 的整數 結果爲 2 , 其餘的 爲 1
最後用了簡單的if-elsif-else分支語句 提交.