一道C语言编程问题,高手们来看看帮忙解答下

倒勾股数是满足公式:1/A^2+1/B^2=1/C^2 的一组正整数(A,B,C),例如,(156,65,60)是倒勾股数,因为:1/156^2+1/65^2=1/60^2。假定A>B>C,且要求A,B,C均小于或等于100,求满足倒勾股数公式的A,B,C之和的最大值是多少?

先推算公式,C^2*(A^2+B^2),= (A^2*B^2),程序就是找寻能让公式左右相等的ABC的值,且0<c<b<a<100.

#include <stdio.h>

int main()

{

int a;//定义循环变量。

int b;

int c;

int sum;//ABC之和。

for (a = 100;a > 0;a--)//以A为循环变量,在1到100之间。

{

for (b = a-1;b > 0;b--)//以B为循环变量,在1到A之间。

{

for (c = b-1;c > 0;c--)//以C为循环变量,在1到B之间。

{

//判断公式左右两侧是不是相等,相等侧符合题目要求

if (c*c*(a*a+b*b) == a*a*b*b)

{

sum = a+b+c;    //判定成立,求和

printf("SUM = %d\nA = %d\nB = %d\nC = %d\n",sum,a,b,c);

return 0;

}

}

}

}

return 0;

}输出结果为:

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-28
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,ans=0;
double c;
for (a=100;a>2;--a)
for (b=a-1;b>1;--b)
{
c=sqrt(1.0/(1.0/(a*a)+1.0/(b*b)));
if (c==(int)c) {if (a+b+(int)c>ans) ans=a+b+(int)c;}
}
printf("%d\n",ans);
while (1);
return 0;
}
改了无数次啊。。终于对了。。鄙视一下那个叫“李离萍”的,抄袭我的!可耻!不过是错的~
第2个回答  2011-05-28
#include<stdio.h>
int main()
{
long a = 100,b = 99, c = 98;
for (a = 100;a>2;a--)
{
for (b = a-1; b>1;b--)
{
for (c = b-1;c>0;c--)
{
if((a*a+b*b) == (b*b*c*c+a*a*c*c))
{
printf("Result is %d\n",a+b+c);
return 0;
}
}
}
}
printf("There aren't three numbers like those!\n");
return 0;
}
第3个回答  2011-05-28
#include<math.h>
int main()
{
int a,b;
floult c;
for (a=100;a>2;--a)
for (b=a-1;b>1;--b)
{
c=sqrt(1.0/(1.0/(a*a)+1.0/(b*b)));
if (c==(int)c) {printf("%d %d %d\n",a,b,(int)c);while(1);}
}
}

一道C语言编程问题,高手们来看看帮忙解答下
for (c = b-1;c > 0;c--)\/\/以C为循环变量,在1到B之间。{ \/\/判断公式左右两侧是不是相等,相等侧符合题目要求 if (c*c*(a*a+b*b) == a*a*b*b){ sum = a+b+c; \/\/判定成立,求和 printf("SUM = %d\\nA = %d\\nB = %d\\nC = %d\\n",sum,a,b,c);return 0;} ...

一道c语言问题,请各位高手们帮帮忙,谢谢
char p[][20]={“get”,”put”,”out”};p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。

c语言编程:电话语音识别中训练十个数字
没啥想法,去请教你们导师吧。100个项,每个号码最多7项,最少就要15个号码了。100个项,设计成二维数组a,每使用一个i-j项就用数组下标的形式a[i][j]去记录下来,然后向下做尝试,同时考虑开头和结尾。尝试的时候可能还要回头重新做尝试,很麻烦……好像这个不是最优解来着。。。我能力有限 不...

请高手们帮忙解答一道几何题
请确认题目,题目条件貌似有误,若已知条件为∠CBP=10°,∠ACP=20°,此题可解,答案为70°

请C++高手们帮忙解答:关于使用string时可不可以用头文件#include<string...
这些头文件都可以在 C:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\include 这个目录下找到(以VC2010为例)。也就是说,我们如果要用C++标准化了的C语言头文件,就得作如下的转换 include <stdio.h> --> #include <cstdio> include <stdlib.h> --> #include <cstdlib> include <string....

数学题啊!!!劳请高手们来帮忙解答一下啊!!(要过程啊)
2、应该是:2\/a-1\/b=1 2b-a=ab a-2b=-ab 2a-4b=-2ab (2a+3ab-4b)\/(a-3ab-2b)=(-2ab+3ab)\/(-ab-3ab)=ab\/-4ab =-1\/4 3、(|x|-1)\/(x-1)=0 |x|=1 x=±1 x-1≠0 x≠-1 ∴x的值为-1 x²-3X+1=0 x-3+1\/x=0 x+1\/x=3 x&...

...但是第一个编译程序就出现了问题,希望高手们可以帮忙解答,程序...
pList->Add(TheObject.c_str()); \/\/必须用指针 pList->Remove(TheObject.c_str()); \/\/必须用指针

请高手们帮忙解答划分子网相关问题!!
我们直接看最后一位 192.55.12.120 120转二进制 0111 1000 255.255.255.240 240的二进制 1111 0000 二者相与之后 0111 0000 (即112)所以子网号为 0.0.0.112 (准确的表达应该是 192.55.12.112)(2)主机号 120-112=8 因为子网号是从192.55.12.112开始 而上述的IP地址是...

高手们 进来帮忙解答一下关于果汁分层的疑惑
密度越小放到最底层,再加一个冰块到果汁要倒向冰块,以此类推

这是一道普通逻辑的分析题,请懂行的高手们帮忙解答一下,万分感谢!!
不能做为法学的案例题。实际上如果用法学的思维来解此题,就很简单了。因为合同的约定只能作为控辨的材料,而不能作为同法院判决相抗衡的物件。在法院的判决下,如果有新的证据证明自已无过(如一审未出示合同),可以在上诉期内上诉,如未上诉或者二审维持原判,法院的判决即有强制力和排它力。

相似回答