表示成两个数的平方和

题目描述

输入一个正整数N,找出所有满足x*x+y*y=N的正整数对x和y。

输入要求

输入一个正整数N

输出要求

输出这两个正整数x和y,满足x*x+y*y=N,输出要求x<=y。如果无解则不需要输出任何信息。

输入样例

50

输出样例

1 7

5 5

提示

当有多组输出时,按照x从小到大的顺序排列。

代码示例

#include<stdio.h>
#include<math.h>
int main()
{
	int n,i,j;
	scanf("%d",&n);
	for(i=1;i<=sqrt(n/2);i++){
		for(j=1;j<=n/2;j++)
		if((pow(i,2)+pow(j,2))==n){
			printf("%d %d\n",i,j);
		}
	}
	return 0;
}