PAT-求特殊方程的正整数解(简单编程题)

本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。

输入格式:

输入在一行中给出正整数N10000)。

输出格式:

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

输入样例1:

884

输出样例1:

10 28
20 22

输入样例2:

11

输出样例2:

No Solution

//求特殊方程的正整数解
#include <stdio.h>
int main()
{
	int X,Y,N;
	scanf("%d",&N);
 	int mark;
	mark=0;
	for(X=1;X<=100;X++){
		 
		for(Y=X;Y<=100;Y++){
			if(X*X+Y*Y==N){
				mark=1; //通过sign标记的变化值,判断是否有解; 
				printf("%d %d\n",X,Y);
				
			}
		}
	}
	 
	if(mark==0)
	 
		printf("No Solution");
		
	return 0;
} 


原创文章 50 获赞 33 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qiulh125/article/details/50392566