Решаю задачу с проекта Эйлера, столкнулся с такой проблемой:
Простые делители числа 13195 - это 5, 7, 13 и 29.
Каков самый большой делитель числа 600851475143, являющийся простым числом?
# Каков самый большой делитель числа 600851475143, являющийся простым числом?
import sys
sys.setrecursionlimit(2**20)
d = 2
n = 1241452
def main():
ar = []
def delit(d):
global a
global n
if n % d == 0:
ar.append(d)
n = n/d
if n == 1:
print(ar)
else:
delit(2)
else:
a = simp_ind(d)
def simp_ind(d):
p = 2
d +=1
while d % p != 0:
p += 1
if p == d:
delit(d)
else: simp_ind(d)
delit(d)
if __name__ == '__main__':
main()
До числа
n = 1241451
Задачу решает, если число больше, выдает ошибку:
Process finished with exit code -1073741571 (0xC00000FD)