用python求解简单的数论问题
来源:网络收集 点击: 时间:2024-07-23【导读】:
简单的数论问题,指的是可以通过枚举法来解答的。在python里面,可以通过for循环实现枚举法。工具/原料more电脑python3+方法/步骤1/6分步阅读
2/6
3/6
4/6
5/6
6/6
注意事项
求不定方程x^2+y^2=1049的所有正整数解。

求解代码很简单:
forainrange(35):
forbinrange(a,35):
ifa**2+b**2==1052:
print(a,b)

不定方程:
a^2+b^2+c^2=2018
其中,a不大于b,b不大于c。
求满足条件的正整数a、b、c。

在范围上限制后面的变量:
for a in range(1,45):
for b in range(a,45):
for c in range(b,45):
if a**2+b**2+c**2==2018:
print(a,b,c)

再试试另一个问题,题目如图所示。

这个问题用枚举法是不行的:
c =
for a in range(1,10000):
for b in range(a+1,10000):
q = int((a**2+b**2)/(a+b))
r = int((a**2+b**2)%(a+b))
if q**2+r==2018:
print(a,b)
c.append(a)
if len(c)==0:
print(10000以内,满足要求的a和b不存在!)

第三个问题,需要无限枚举。也就是说,枚举法并不能证明这个问题无解。
PYTHON版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_992543.html
上一篇:崩坏星穹铁道怎么找到裂界的出口
下一篇:雀魂新手礼包怎么领