Разложение на простые множители большого числа 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)

Ответы (0 шт):