def find_triplet():
found = False
for a in range(333):
for b in range(a+1, 500):
c = 1000 - a - b
if (a*a + b*b) == c*c:
print(a, b, c)
found = True
break
if found:
break
1 好 111 本帖最后由 salt_eto 于 2024-1-2 10:52 编辑
运行时间0.018ms
枚举范围优化
Ulong test8 ()
{
for(int a=150;a<500;a++)
{
for(int b=150;b<500-a/2;b++)
{
int c=1000-b-a;
if((c*c-a*a-b*b)==0)
{
return a*b*c;
}
}
}
return 0;
}
int main (int argc, char *argv[])
{
auto res = test8();
std::cout << res << std::endl;
} 真不错,学到这里受益良多 想看优化
11
页:
1
[2]