题目描述
本题要求对任意给定的正整数n,求方程x2+y2=n的所有正整数解
输入
输入在一行中给出正整数n(n<10000)
输出
输出方程x2+y2=n的全部正整数解,其中x<=y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution
。
样例输入
884
样例输出
10 28 20 22
#include<stdio.h>
int main()
{
int x,y,n,i=0;
scanf("%d",&n);
for(x=1;x*x<=n;x++)
{
for(y=1;y*y<=n;y++)
{
if(x*x+y*y==n&&x<=y)
{
printf("%d %d\n",x,y);
i++;
}
}
}
if(i==0)
printf("No solution\n");
}