AIZU ONLINE ジャッジでRuntime Errorが発生した
AIZU ONLINE JUDGEの0009の問題を解くために以下のようなコードを提出したのですが、「Runtime Error」が出てしまいます。簡単な問題かもしれませんが原因がわかる方、お答えください。
import math
import sys
def prime_calc(n):
rootN = math.floor(math.sqrt(n))
prime = [2]
data = [i + 1 for i in range(2,n,2)]
while True:
p = data[0]
if rootN <= p:
return len(prime + data)
prime.append(p)
data = [e for e in data if e % p != 0]
def main():
l = []
for line in sys.stdin:
l.append(int(line))
for line in l:
print(prime_calc(line))
if __name__ == "__main__":
main()
追記:tanalab2 さんの解答のとおりにしたのですが、なぜか「Runtime Error」が出てしまいます。原因は何でしょうか?
追記:tanalab2さんのご指摘の通りのコードにしました。
追記:以下の入力を試しましたが問題はありませんでした。
10
3
11