[PTA]7-21 求特殊方程的正整数解
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]7-21 求特殊方程的正整数解相关的知识,希望对你有一定的参考价值。
本题要求对任意给定的正整数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
- 提交结果:
- 源码:
#include<stdio.h>
#include<math.h>
int main(void)
{
int N;
int flag = 0;
scanf("%d", &N);
for (int X = 1; X < 100; X++)
{
int Y = (int)sqrt(N - X * X);
if (X > Y)
{
break;
}
if (X * X + Y * Y == N)
{
flag = 1;
printf("%d %d\\n", X, Y);
}
}
if (!flag)
{
printf("No Solution\\n");
}
return 0;
}
以上是关于[PTA]7-21 求特殊方程的正整数解的主要内容,如果未能解决你的问题,请参考以下文章
[leetcode 周赛 160] 1237 找出给定方程的正整数解