题目链接:四方平和
题目思路:拿到此题目毫无头绪,题目提示是枚举,但是QAQ真的想不到,后来看了视频,真的巨震惊我!!!!不说了直接上AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, l;
cin >> n;
for(int i = 0; i * i <= n; i++) //枚举第一个
{
for(int j = i; i*i + j*j <= n; j++) //枚举第二个,大于等于第一个(因为题目要求从小到
//大输出)
{
for(int k = j; i*i + j*j + k*k <= n; k++) //枚举第三个,大于等于第二个
{
l = sqrt(n - i*i - j*j - k*k); //第四个是直接n=a^2+b^2+c^2+d^2算出来的
if(l*l+i*i + j*j + k*k == n) //判断是否正确
{
cout << i << ' ' << j << ' ' << k << ' ' << l << endl;
return 0;
}
}
}
}
return 0;
}