回答編集履歴
2
コード追加
answer
CHANGED
@@ -2,4 +2,14 @@
|
|
2
2
|
とても大きいNに対して、そのN-1回分かけて調べればいいかというとそういうわけではありません。
|
3
3
|
大きいNに対しては、何回かければlargeかどうかがわかるのかというと、2を30回かけると10^9程度なので、2以上の数を31回かけると必ず10^9を超えてしまうことがわかります(答えがlargeになる)
|
4
4
|
答えがlargeになった時点でさらに掛け算してもlargeなので、largeとわかった時点で切ってしまえばいいわけです。
|
5
|
+
N-1, もしくは31のどちらか小さい方の回数だけ掛け算すればいいです。
|
6
|
+
|
5
|
-
|
7
|
+
追記)実装例です。
|
8
|
+
```python
|
9
|
+
A, R, N = map(int, input().split())
|
10
|
+
ans = A*R**(min(N-1, 31))
|
11
|
+
if ans > 10**9:
|
12
|
+
print('large')
|
13
|
+
else:
|
14
|
+
print(ans)
|
15
|
+
```
|
1
修正
answer
CHANGED
@@ -2,4 +2,4 @@
|
|
2
2
|
とても大きいNに対して、そのN-1回分かけて調べればいいかというとそういうわけではありません。
|
3
3
|
大きいNに対しては、何回かければlargeかどうかがわかるのかというと、2を30回かけると10^9程度なので、2以上の数を31回かけると必ず10^9を超えてしまうことがわかります(答えがlargeになる)
|
4
4
|
答えがlargeになった時点でさらに掛け算してもlargeなので、largeとわかった時点で切ってしまえばいいわけです。
|
5
|
-
|
5
|
+
あとは解説pdfの実装の通りです。
|