打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python|求方程X2+Y2=N的全部正整数解
问题描述
该问题的原题描述为:本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。给定的N<=10000,如果本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。给定的N<=10000,如果有解请输出全部解,如果无解请输出No Solution。有解请输出全部解,如果无解请输出No Solution。
解决方案
首先分析题目,可知其为二元二次方程式,要是让我们自己来解基本不可能,
所以只能通过程序来解决。对于这种两个未知数的我们可以分别让他们从1开始遍历每一个正整数,直至找出所有解。
(1)先让x,y遍历每一个正整数
(2)设置输出所有解后停止循环的条件
(3)最后加上无解时输出No Solution的条件
将问题拆分分析后,将所有代码按程序输入,最后的代码如下。
x = 1
list = []
while True:
for y in range(1,x+1):
s = x**2+y**2
if s == N:
print(x,y)
list.append((x,y))
if x**2>N:
break
x += 1
if len(list) == 0:
print('No Solution')
最后让我们看一看运行效果
图3.1有解时的输出效果
图3.2无解时的输出效果
对于python中的编程题,拿到问题不要慌张,首先要将其拆分成一些小问题,然后分步思考,最终得出答案。
END主  编   |   张祯悦
责  编   |   江来洪
where2go 团队
微信号:算法与编程之美
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PAT乙级题目--求特殊方程的正整数解
Leetcode面试系列 第1天:Leetcode 89 - 格雷码
字母系数二元一次方程组
初中数学竞赛辅导资料7
【暑假培优】一元一次方程整数解、有解、无解问题专训
方程的正整数解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服