欧拉计划009

一个毕达哥拉斯三元组是一个包含三个自然数的集合,a<b<c,满足条件:
a2+b2=c2
例如:32+ 42= 9 + 16 = 25 = 52.

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

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

——————————————————————————————————————————



用的解决方法再暴力不过了,一路循环、判断。。。

代码如下:

1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 
 6 int main (void)
 7 {
 8     int a,b,c;
 9     
10     for(c=3;c<=997;c++)
11     {
12         for(b=2;b<=996;b++)
13         {
14             if(c>b)
15             {
16                 for(a=1;a<=995;a++)
17                 {
18                     if(a<b&&a<c&&b<c)
19                     {
20                         if((a*a+b*b==c*c)&&(a+b+c==1000))
21                         {
22                             printf("%d*%d*%d=%d\n",a,b,c,a*b*c);
23                             break;
24                         }
25                     }
26                 }
27             }
28         }
29     }
30 
31     return 0;
32 }

输出结果:200375425=31875000;
原文链接: https://www.cnblogs.com/hhccdf/archive/2013/03/29/2989131.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/82545

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午8:38
下一篇 2023年2月9日 下午8:40

相关推荐