5-21 求特殊方程的正整数解 (15分)

来源:互联网 发布:java 函数 编辑:程序博客网 时间:2024/06/08 03:25
5-21 求特殊方程的正整数解   (15分)

本题要求对任意给定的正整数NN,求方程X^2 + Y^2 =NX2+Y2=N的全部正整数解。

输入格式:

输入在一行中给出正整数NN\le10000)。

输出格式:

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

输入样例1:

884

输出样例1:

10 2820 22

输入样例2:

11

输出样例2:

No Solution
#include<stdio.h>int main(){long i;scanf("%d",&i);int cnt=0,x,y;for(x=1;x<=100;x++)for(y=x;y<=100;y++){int n=x*x+y*y;if(n==i){cnt++;printf("%d %d\n",x,y);}}if(cnt==0)printf("No Solution");return 0;}

原创粉丝点击