6.2表示成两个数的平方和

Q:编写一个程序,找出正整数N=X^2+Y^2所有的正整数X、Y。

注意:100=6^2+8^2与100=8^2+6^2是重复的,只显示一个。

#include<iostream>
#include<cmath> 
using namespace std;

int f(int n) {
	for(int x=1;x<sqrt(n);x++)
	for(int y=x;y<sqrt(n);y++) {//y从x开始向后搜索 
		if(x*x+y*y==n) {
			cout<<x<<"*"<<x<<"+"<<y<<"*"<<y<<"="<<n<<endl;
		}
	}
	return 0;
}
int main() {
	int n;
	cout<<"input a integer:"<<endl;
	cin>>n;
	f(n);
	return 0;
}

  

与6.1一个套路。

拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
原文地址:https://www.cnblogs.com/dd2hm/p/6811530.html