a+b+c+d=40且用a,b,c,d四个数可表示1到40的所有数(用 +,-)用c语言编一个程序,求出a,b,c,d的值一个商人有一个40的斤法码,掉到地上后摔成四块,但是正好这四块法码可以称出 1 到 40 斤重的所有东

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 21:08:18
a+b+c+d=40且用a,b,c,d四个数可表示1到40的所有数(用+,-)用c语言编一个程序,求出a,b,c,d的值一个商人有一个40的斤法码,掉到地上后摔成四块,但是正好这四块法码可以称出1到4

a+b+c+d=40且用a,b,c,d四个数可表示1到40的所有数(用 +,-)用c语言编一个程序,求出a,b,c,d的值一个商人有一个40的斤法码,掉到地上后摔成四块,但是正好这四块法码可以称出 1 到 40 斤重的所有东
a+b+c+d=40且用a,b,c,d四个数可表示1到40的所有数(用 +,-)用c语言编一个程序,求出a,b,c,d的值
一个商人有一个40的斤法码,掉到地上后摔成四块,但是正好这四块法码可以称出 1 到 40 斤重的所有东西,现在想知道这四块法码的的重量.用C语言编写一个程序.

a+b+c+d=40且用a,b,c,d四个数可表示1到40的所有数(用 +,-)用c语言编一个程序,求出a,b,c,d的值一个商人有一个40的斤法码,掉到地上后摔成四块,但是正好这四块法码可以称出 1 到 40 斤重的所有东
梅齐亚克砝码问题
#include
#include
int main(void)
{
int weight1,weight2,weight3,weight4;/*摔坏的四块砝码的重量*/
int d1,d2,d3,d4;/*四块砝码是放在左盘还是右盘,或者根本没有使用*/
int x,flag;/*x:可用四块砝码称出的重量,flag:满足题意的标记*/
printf("The weight is broke up as following 4 pieces:");
for(weight1=1;weight1-2&&!flag;d3--) /*0:不用该砝码*/
for(d4=1;d4>-2&&!flag;d4--) /*-1:砝码在天平的左边*/
if(x==weight1*d1+weight2*d2
+weight3*d3+weight4*d4)
flag=1;
if(flag) printf(" %d %d %d %d\n",
weight1,weight2,weight3,weight4);
flag=0;
}
system("pause");
return 0;
}