欧拉计划 第9题

时间:2021-02-17 11:23:30

题目

A Pythagorean triplet is a set of three natural numbers, a  b  c, for which,

For example, 

There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.

找出唯一的满足a + b + c = 1000的毕达哥拉斯三元组{a, b, c}。

一个毕达哥拉斯三元组是一个包含三个自然数的集合,

a<b<c,满足条件:

例如:

已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。

找出该三元组中abc的乘积。

解答:由于存在且只有一个,可以提早结束循环。节约时间。

Java程序

public class N_9 {
public static void main(String[] args) {
System.out.println(pythagoras());
}

public static int pythagoras() {
int n=0;
for (int a = 1; a <= 1000; a++)
for (int b = a + 1; b <= 1000; b++){
double c = a*a + b*b;
c = Math.sqrt(c);
if(c!=(int)c)
continue;
if (a + b + c == 1000) {
n=(int) (a*b*c);
break;
}
}
return n;
}
}

运行结果:31875000