PTA—基础编程题目集(7-21)

7-21 求特殊方程的正整数解

目录

题目描述

输入格式:

输出格式:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

参考代码

总结


题目描述

本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。

输入格式:

输入在一行中给出正整数N(≤10000)。

输出格式:

输出方程X2+Y2=N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution

输入样例1:

复制代码
884

输出样例1:

复制代码
10 28
20 22

输入样例2:

复制代码
11

输出样例2:

复制代码
No Solution

参考代码

cpp 复制代码
#include <iostream>

using namespace std;

int main() {
    int N, X, Y,flag=0;
    cin >> N;
    for (X = 0; X < 71; X++) {
        for (Y = X+1;Y<100; Y++) {
            if (N == X * X + Y * Y) {
                flag = 1;
                cout << X << " " << Y << endl;
            }
        }
    }
    if (flag == 0)  cout << "No Solution";
    return 0;
}

总结

注意X、Y的范围,X<71 ( 70*70=4900,71*71=5041,且X<Y ) ,还要判断是否有符合的X、Y。

其他题目,请看--->PTA---基础编程题目集

创作不易,如果我的文章对你有帮助,请点赞收藏关注,您的支持是我前进的最大动力。

相关推荐
小技与小术4 小时前
玩转Flask
开发语言·python·flask
SilentSamsara4 小时前
Python 性能优化:tracemalloc、profiling 与 C 扩展加速
开发语言·python·青少年编程·性能优化
冰小忆4 小时前
大驼峰命名规范和小驼峰命名规范的区别是什么?
开发语言·python
smj2302_796826526 小时前
解决leetcode第3943题递增后的数对数量
数据结构·python·算法·leetcode
এ慕ོ冬℘゜6 小时前
JS 前端基础面试题
开发语言·前端·javascript
浩少7026 小时前
【无标题】
java·开发语言
炽烈小老头7 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
nnsix7 小时前
C# 字符串 根据换行符分割
开发语言·c#
Vallelonga7 小时前
Rust Conversion 工具 trait AsRef AsMut
开发语言·rust
王老师青少年编程7 小时前
2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题3:文末附答案和解析)
c++·真题·答案·初赛·2026年·青少年信息素养大赛·初中组