結果
問題 | No.1312 Snake Eyes |
ユーザー | marroncastle |
提出日時 | 2020-12-11 09:03:25 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 402 bytes |
コンパイル時間 | 172 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 61,696 KB |
最終ジャッジ日時 | 2024-11-30 13:06:33 |
合計ジャッジ時間 | 6,733 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 85 |
ソースコード
N = int(input()) def divisor(n): cd = [] i = 1 while i*i <= n: if n%i==0: # cd.append(i) if n//i - i >= 2: cd.append(n//i) i += 1 return cd[-1] if N<=2: print(N+1) exit() ans = divisor(N)-1 for m in range(3,41): p = 2 while pow(p,m)-1<=N*(p-1): b = (pow(p,m)-1)//(p-1) if N%b==0 and N//b<p: ans = min(ans, p) break p += 1 print(ans)