解いた方針
- 10桁の素数が出てくるのがどれくらい珍しいことか分からなかったので、とりあえず愚直に実装してみる。
- 円周率は 円周率(PI) 100万(1,000,000)桁 からダウンロードした。
- 実行したら結構な頻度で出てきた。
from sys import exit
def is_prime(n):
# https://somachob.com/python-is-prime/
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
with open('pi-10oku.txt', mode='r') as f:
p = f.read()
p = p[2:]
for i in range(len(p)):
pi = int(p[i:i+10])
if is_prime(pi):
print(pi)