用python求解简单的数论问题
1、求不定方程x^2+y^2=1049的所有正整数解。

2、求解代码很简单:
for a in range(35):
for b in range(a,35):
if a**2+b**2==1052:
print(a,b)

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

4、在范围上限制后面的变量:
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)

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

6、这个问题用枚举法是不行的:
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不存在!")

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:50
阅读量:115
阅读量:97
阅读量:145
阅读量:188