【欧拉计划】9. Special Pythagorean triplet

(本题取 $n=1000$)

【思路】$\mathcal O(n^3)$ 分别枚举 $a,b,c$ 并判断。

【优化】由于 $a,b,c$ 中的其中一个值可以由另外两个得到,因此可省去第三重循环,时间复杂度优化为 $\mathcal O(n^2)$:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
int main()
{
for(int a=0;a<1000;++a)
{
for(int b=a+1;b<1000;++b)
{
int c=1000-a-b;
if(b<c&&a*a+b*b==c*c)
{
printf("%d",a*b*c);
return 0;
}
}
}
return 0;
}

【欧拉计划】9. Special Pythagorean triplet

https://hensier.github.io/projecteuler/9/

作者

hensier

发布于

2022-05-01

更新于

2023-01-02

许可协议

评论