您的位置:首页 > 编程语言 > Java开发

欧拉计划 第9题

2014-03-06 10:53 239 查看
题目

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息