Python中关于大数模的问题

Python中关于大数模的问题,python,python-3.x,number-theory,Python,Python 3.x,Number Theory,我使用费马的小定理,发现40^65%7=3。但当我在Python中使用以下代码时,它打印的答案是2.0: print((math.pow(40,65) % 7)) 为什么Python将结果错误地表示为2.0 谢谢math.pow(40,65)返回一个浮点值,这是一个近似值 试试(40**65)%7 一旦您对数学计算结果感到满意,就可以使用内置函数结合计算功率和mod: pow(40, 65, 7) math.pow(40,65)返回一个近似的浮点值。试试(40**65)%7。谢谢凯尔伍德!我

我使用费马的小定理,发现40^65%7=3。但当我在Python中使用以下代码时,它打印的答案是2.0:

print((math.pow(40,65) % 7))
为什么Python将结果错误地表示为2.0

谢谢

math.pow(40,65)
返回一个浮点值,这是一个近似值

试试
(40**65)%7

一旦您对数学计算结果感到满意,就可以使用内置函数结合计算功率和mod:

pow(40, 65, 7)

math.pow(40,65)
返回一个近似的浮点值。试试
(40**65)%7
。谢谢凯尔伍德!我不知道这只是一个近似值。(40**65)%7也确实帮助了我。我怎样才能给你“分数”并结束这个问题呢?我将把它作为一个答案发布。除了你真的应该做
pow(40,65,7)
,它做模幂运算,并且比计算整个指数然后在最后取模要好得多。(那
pow
是内置的
pow
,而不是
math.pow
)@user2357112我不确定这是否符合OP在这个问题上的目的,但了解它肯定是有帮助的。