/*5-21 求特殊方程的正整数解 (15分)
本题要求对任意给定的正整数NNN,
求方程X2+Y2=NX^2 + Y^2 =NX2+Y2=N的全部正整数解。
输入格式:
输入在一行中给出正整数NNN(≤\le≤10000)。
输出格式:
输出方程X2+Y2=NX^2 + Y^2 =NX2+Y2=N的全部正整数解,
其中X≤YX\le YX≤Y。每组解占1行,两数字间以1空格分隔,
按XXX的递增顺序输出。如果没有解,则输出No Solution。
输入样例1:
884
输出样例1:
10 28
20 22
输入样例2:
11
输出样例2:
No Solution
Author :Hongzhu Li
Date :16.8.1
Address :长大东区12教
Ps :这几天真TM热啊AAAAAAAAAAAAAAAA
*/
#include <stdio.h>
#include <math.h>
int main()
{
int n;
float m;
int num[2][50];
int a=0;
scanf("%d",&n);
m=pow(n,0.5);
for(int x=0;x<=m;x++)
{
for(int y=0;y<=m;y++)
{
if(x*x+y*y==n&&x<=y)
{
num[0][a]=x;
num[1][a]=y;
a++;
}
}
}
if(a)
{
for(int i=0;i<a;i++)
{
printf("%d %d\n",num[0][i],num[1][i]);
}
}
else
printf("No Solution\n");
return 0;
}
lz不知道为神马一直是部分正确,烦死了@#¥%…