用C语言求:已知X,Y,Z为三个正整数,且x*x+y*y+z*z=252,求X+Y+Z的最大值。

来源:百度知道 编辑:UC知道 时间:2024/09/25 12:35:47
勾股弦数是满足公式: A^2+B^2=C^2 (假定A<B<C)的一组正整数(A,B,C),例如,(3,4,5)是勾股弦数,因为:3^2+4^2=5^2。求A,B,C均小于或等于100的勾股弦数中A+B+C的最大值。

x*x+y*y+z*z=252 无解。

//---------------------------------------------------------------------------

#include <stdio.h>

int main(int argc, char* argv[])
{
int x,y,z;
for (x=10; x>0; x--) {
for (y=10; y>0; y--) {
for (z=10; z>0; z--) {
if ((x*x+z*z+y*y)==252) {
printf("%d %d %d\n",x,y,z);
y=0;
x=0;
break;
}
}
}
}
return 0;
}
//---------------------------------------------------------------------------

这还差不多。。可惜今天要回寝室了,解决不了了,明天来看有人回答不吧,你标题写的是不对。。呵呵

因为
两数相乘xy=A;
当x==y 时 x+y最小
#include<stdio.h>
int x,y,z;

for(x=15;x>=0;x--)
for(y=sqrt(252-x*x);y>=0;y--)
for(z=sqrt(252-x*x-y*y);z>=0;z--)
if(x*x+y*y+z*z==252){
printf("%d%d%d%d",x,y,z,y+x+z);
return 0;}
}

不存在这个3个整数 。。。。