Разложение на простые множители большого числа Python
При разложении числа 72057594037927935 на простые множители, программа выдаёт [3, 3, 3, 3, 4, 7, 19, 73, 87211, 262657]. Почему-то, когда делит 72057594037927935 на 3, получает 8006399337547548, а потом и 2.4019198012642644e+16 откуда-то вылазит. До этого всё считается нормально. С чем это может быть связано?
list1 = [72057594037927935]
list2 = []
number = 2
for i in range(len(list1)):
while number * number <= (list1[i]):
while (list1[i] % number) == 0:
#print(list1[i])
#print(number)
#print(list1[i] % number)
list2.append(int(number))
#print(list1[i])
list1[i] /= number
#print((list1[i] / number))
#print(list1[i])
number += 1
if list1[i] > 1:
list2.append(int(list1[i]))
print(list2)