Python|求方程X2+Y2=N的全部正整数解

简介: 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')

最后让我们看一看运行效果

图1有解时的输出效果

图2无解时的输出效果


结语

对于python中的编程题,拿到问题不要慌张,首先要将其拆分成一些小问题,然后分步思考,最终得出答案。


目录
相关文章
|
2月前
|
Python
【10月更文挑战第10天】「Mac上学Python 20」小学奥数篇6 - 一元一次方程求解
本篇将通过 Python 和 Cangjie 双语讲解如何求解一元一次方程。通过这道题,学生将掌握如何用编程实现方程求解,并体验基本的代数计算。
128 1
|
3月前
|
存储 Python
Python示例:分解一个不多于指定位的正整数
Python示例:分解一个不多于指定位的正整数
33 0
|
4月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
128 2
|
2月前
|
Python
【10月更文挑战第11天】「Mac上学Python 21」小学奥数篇7 - 二元一次方程组求解
本篇将通过 Python 和 Cangjie 双语讲解如何求解二元一次方程组。通过这道题,学生将学会如何使用代数方法和编程逻辑求解方程组中的未知数。
80 1
|
7月前
|
开发工具 Python
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
|
3月前
|
存储 Go C语言
Python 的整数是怎么实现的?这篇文章告诉你答案
Python 的整数是怎么实现的?这篇文章告诉你答案
72 7
|
3月前
|
存储 Python
Python示例:分解一个不多于指定位的正整数
Python示例:分解一个不多于指定位的正整数
38 0
|
4月前
|
算法 Serverless Python
使用 Python 查找整数中的数字长度
【8月更文挑战第27天】
86 5
|
5月前
|
存储 Python 容器
Python基础语法:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
164 13
|
5月前
|
存储 Python 容器
Python基础:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。