#include
#include
#define r 55
#define MAXN 9999999
int main(){
int ans=MAXN;
int x,y,z,t;
for(x=55;x>0;x--)
for(y=x-1;y>0;y--){
t=r*r-x*x-y*y;
z=(int)sqrt(t);
if(z*z==t && y>z)
if(abs(x+y+z)ans=abs(x+y+z);
printf("%d %d %d\n",x,y,z);
}
}
printf("the min is %d\n",ans);
return 0;
}
#include
#include
void main()
{
int x,y,z;
int min = 99999;
for( x=-55; x<=55; ++x )
for(y=-55;yfor(z=-55;z {
if(x*x+y*y+z*z == 55*55)
{
if(abs(x+y+z) < min)
min = abs(x+y+z);
}
}
printf("%d\n",min);
}
试试行不行
abs虽然是double 型的 但是你可以强制转换为int 型: (int) abs 我觉得题目的意思是让你输出一个整数
算法不好,不过从目前算法的意图来看, 应该将if(s