2015年蓝桥杯A组填空题 1.方程整数解 知识点:简单枚举

60 阅读1分钟

1.方程整数解 - 蓝桥云课 (lanqiao.cn)

可以枚举a,b,c三个因子,也可以枚举a,b,通过a,b求出c,这样更快一点:

#include<bits/stdc++.h>
using namespace std;

int main()
{

	for (int a = 1; a * a < 1000; a++)
	{
		for (int b = 1; a * a + b * b < 1000; b++)
		{
			int c = sqrt(1000 - a * a - b * b);  //不去枚举c,而通过计算的方式求出c,减少运算量
			if (a * a + b * b + c * c == 1000)   
			{

				cout << a << " " << b << " " << c << endl;
			}
		}
	}
	return 0;
}

image.png

题目给的一个解是:6 8 30,还有一组解就是10,18,24。

答案就是10.