Вопрос о модуле больших чисел в Python - PullRequest
3 голосов
/ 10 марта 2019

Я использовал маленькую теорему Ферма и обнаружил, что 40 ^ 65% 7 = 3. Но когда я использую следующий код в Python, он печатает ответ 2,0:

print((math.pow(40,65) % 7))

Почему Python дает результатнеправильно как 2.0?

Спасибо

1 Ответ

1 голос
/ 10 марта 2019

math.pow(40,65) возвращает число с плавающей точкой, которое является приблизительным.

Попробуйте (40**65) % 7.

Когда вы довольны тем, что математика работает, вы можете использовать встроенную функцию pow для расчета мощностей и модов в комбинации:

pow(40, 65, 7)
...