Project Euler 9 | 寒山烟雨
现在的位置: 首页 > 小试身手 > 正文

Project Euler 9

2012年06月23日 小试身手 ⁄ 共 303字 ⁄ 字号 暂无评论 ⁄ 阅读 1,656 views 次

为了锻炼编程的实际能力,从现在开始着手开始计算欧拉项目。

今天是第9题,相对简单的一道题。

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

a2 + b2 = c2

For example, 32 + 42 = 9 + 16 = 25 = 52.

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

寻找一组勾股数,使得三个数的和为1000,求这组数的乘积。程序较为简单,用C语言进行实现:

 C | 
 
 copy code |
?

01
#include<stdio.h>
02
 int main(void)
03
 {
04
	 int a,b,c;
05
	 for(a=3;a<332;a++)
06
	 {
07
		 for(b=a+1;b<997;b++)
08
		 {
09
			 c=1000-a-b;
10
			 if(c<=0&&c<b)
11
			 {
12
				 break;
13
			 }
14
			 if(a*a+b*b==c*c)
15
			 {
16
				 printf("%d,%d,%d\n",a,b,c);
17
				 printf("%d",a*b*c);
18
			 }
19
		 }
20
	 }
21
	 return 0;
22
 }

 
结果:a=200,b=375,c=425,乘积为31875000。

0

给我留言

留言无头像?


×