結果
| 問題 |
No.219 巨大数の概算
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-01-05 19:38:24 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 253 ms / 1,500 ms |
| コード長 | 773 bytes |
| コンパイル時間 | 153 ms |
| コンパイル使用メモリ | 82,076 KB |
| 実行使用メモリ | 80,824 KB |
| 最終ジャッジ日時 | 2024-11-06 06:32:53 |
| 合計ジャッジ時間 | 14,263 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 51 |
ソースコード
N = int(input())
lsAB = [list(map(int,input().split())) for i in range(N)]
def Pow10(a,n):#繰り返し二乗法
if n==0:
return 1,0
if n==1:
j = 0
while a >= 10**j:
j += 1
j -= 1
a /= 10**j
return a,j
if n & 1:
ab,c = Pow10(a,n-1)
j = 0
while a >= 10**j:
j += 1
j -= 1
a /= 10**j
b = a*ab
jb = 0
while b >= 10**jb:
jb += 1
jb -= 1
b /= 10**jb
return b,c+j+jb
a,c = Pow10(a,n>>1)
b = a*a
j = 0
while b >= 10**j:
j += 1
j -= 1
b /= 10**j
return b,c+c+j
for i in range(N):
a,b = Pow10(lsAB[i][0],lsAB[i][1])
sa = str(a)
print(sa[0],sa[2],b)