求特殊方程的正整数解(C++)

题目阐述:

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

输入格式:

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

输出格式:

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

如果没有解,则输出No Solution

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int flag=0;
	for(int i=1;i<n;i++)
	{
		for(int j=i;j<n;j++)
		{
			if(i*i+j*j==n)
			{
				cout<<i<<" "<<j<<endl;
				flag=1;
			}
		}
	}
	if(flag==0)
	{
		cout<<"No Solution";
	}
}

猜你喜欢

转载自blog.csdn.net/yangyangcome/article/details/79871445