鱼C论坛

 找回密码
 立即注册

牡丹花下死做鬼

https://fishc.com.cn/?217717

个人做题记录项目欧拉第九题

已有 220 次阅读2013-8-11 20:45 |个人分类:编程

9.
例如:32 + 42 = 9 + 16 = 25 = 52.已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。找出该三元组中abc的乘积。
代码:
#include<stdio.h>
#include<math.h>
void main()
{
int a, b, c,t;
for(a = 3;a<500;a++) //a = 3 起递增
{
for(b = a+1;b<500;b++) // b = a + 1 起递增 应为 b > a
{
t = a*a+b*b; //t = a 的平方 + b 的平方
c = sqrt(t);  // c = t 的平方根
if(c*c==t) //如果 c 的平方 = t 说明 a^2+b^2=c^2成立
{
if(a + b + c == 1000) //判断三个数的和是否为1000
{
printf("%d^2 + %d^2 = %d^2 %d * %d * %d = %d\n\n",a, b, c, a, b, c, a*b*c);
goto s;
}
}
}
}
s:printf("\n");
}


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-26 12:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部