鱼C论坛

 找回密码
 立即注册
查看: 4851|回复: 10

pow函数求助

[复制链接]
发表于 2021-9-1 00:04:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
按照教程 pow(x,y,z)是X的Y次方对z求余数
如pow(2,2,3)=1
那么按道理pow(2,-2,3)=2**-2%3=0.25
然而实际上pow(2,-2,3)求出的结果是1??
求解达人原因
谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-1 00:12:34 | 显示全部楼层
本帖最后由 小伤口 于 2021-9-1 12:42 编辑

可能你理解错了
2的-2次方是4分之1对吧,再除以3等于12分之1
也就是1除以12,求余不是求小数,用小学的方法
1除以12不够除,就为0所以就余1了呀。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 08:14:23 | 显示全部楼层
>>> pow(2,-2,5)
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    pow(2,-2,5)
ValueError: pow() 2nd argument cannot be negative when 3rd argument specified
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 09:07:46 | 显示全部楼层
这里有明显的提示  及其原因

ValueError: pow() 2nd argument cannot be negative when 3rd argument specified

我英文不好,简单翻译一下   当pow第三个参数被指定时,第二个参数不能是负数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-9-1 09:13:33 | 显示全部楼层
>>> pow(2,-3,3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: pow() 2nd argument cannot be negative when 3rd argument specified
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-1 10:34:54 | 显示全部楼层
你们是哪个python版本,我的python3.9, pow()的第二个参数可以是负数,没有错误提示:
>>> pow(2,-2,5)
4

我估计python是这样处理:把第二个为负数的参数采用绝对值处理了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2021-9-1 12:29:26 From FishC Mobile | 显示全部楼层
????
Screenshot_20210901_122828_com.huawei.browser.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-1 22:02:17 | 显示全部楼层
Python3.9可运行
猜想:
2 ** (-2) % 3 = (2 ** (-2)) / 3 = 0.25 / 3 求余数 -> 0……0.25
pow(2,-2,3) = (2 ** (-2)  / 3)= 0.25 / 3 = 1 / 12 求余数 -> 0……1
这样的话,我觉得
2 ** (-2) % 3 = pow(2,-2)% 3 才成立。
我也不是很懂啊,想了好久,还变成数学问题了,结果还是没想通,求指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-3 20:13:53 | 显示全部楼层
請先理解樓主所發問的問題吧,樓主說的確實沒有錯,只是 Python 官方已經說明 2.2.1 版本後 pow() 函數做修改了,詳情可以點擊官網:Incompatibilities between Python 2.1[.x] and 2.2[.x]
The 3-argument builtin pow() no longer allows a third non-None argument if either of the first two arguments is a float, or if both are of integer types and the second argument is negative (in which latter case the arguments are converted to float, so this is really the same restriction).
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-6 23:59:05 | 显示全部楼层
pow函数解读
https://fishc.com.cn/thread-223019-1-1.html
(出处: 鱼C论坛)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2023-1-7 09:48:41 | 显示全部楼层
挺绕的,第二个为负数先求逆模:
(底数、负指数、模数)-----》(逆模、指数、模数)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 03:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表