题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)

算法标签 枚举

题目描述

[计蒜客(蓝桥杯省赛)]四平方和_c++

思路

1.压到Sqrt
2.利用d省去一重循环

题目代码

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

int main()
{
int N;
cin >> N;

for (int a = 0; a < sqrt(N); a++)
for (int b = 0; b < sqrt(N); b++)
for (int c = 0; c < sqrt(N); c++)
{
int d = sqrt(N - a * a - b * b - c * c); //减少时间复杂度
if (N == a * a + b * b + c * c + d * d)
{

cout << a << " " << b << " " << c << " " << d << endl;
return 0; //因为只要一个答案就好 退出 卡掉
}
}
}