結果
| 問題 | 
                            No.2271 平方根の13桁精度近似計算
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2023-04-14 22:56:16 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 457 bytes | 
| コンパイル時間 | 167 ms | 
| コンパイル使用メモリ | 82,500 KB | 
| 実行使用メモリ | 62,028 KB | 
| 最終ジャッジ日時 | 2024-10-10 13:57:02 | 
| 合計ジャッジ時間 | 3,737 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 34 WA * 6 | 
ソースコード
import sys
N = int(input())
E = int(input())
offset = 1 << 29
if N >= 0 and round(N ** 0.5) ** 2 == N:
	print(round(N ** 0.5))
	sys.exit()
cand = set([0])
key = 1
for i in range(E):
	n_cand = set()
	for i in range(4):
		for j in cand:
			if ((j + i * key) ** 2 - N) % (key * 5) == 0:
				n_cand.add(j + i * key)
	cand = n_cand
	key *= 5
for i in cand:
	if (i + offset) % key - offset <= offset:
		print((i + offset) % key - offset)
		sys.exit()
print("NaN")