使用穷举法实现百马百担:100匹马,100担货,大马3担,中马2担,两匹小马1担,大马、中马、小马各多少?
工具/原料
DevC++
电脑
方法/步骤
1、第一步:首先,我们先打开我们的DEVC++软件,然后点击“新建源代码”,或者直接按住键盘上的Ctrl+n进行新建源代码
2、第二步:新建好文件项目之后,我们在我们的编辑页面输入以下代码:#include<s隋茚粟胫tdio.h>intmain(){ in墉掠载牿tx,y,z;//x为大马,y为中马,z为小马 intn=0;//总的伏担货所需马的方法 printf("总的伏担货所需马的方法:\n"); for(x=0;x<=33;x++)//大马的数量 for(y=0;y<=50;y++)//中马的数量 { z=100-x-y;//小马的数量 if(3*x+2*y+z/2==100)//判断是否100匹马伏100担货 { n++;//累加伏担货方法 printf("大马:%d中马:%d小马:%d\n",x,y,z); } } printf("有%d种伏担货所需马的方法",n);//输出总的伏担货所需马的方法 return0;}
3、第三步:代码编写完成之后,我们点击“运行”,即菜单栏上的第二个四色块正方形的按钮进行运行,或者直接按住键盘上的F11进行编译运行
4、第四步:运行之后,我们即可看到我们这次程序代码要实现的算法效果了。穷举法其实就是将所有可能发生的情况都列举出来
5、第五步:在代码中,主要是使用两个for循环进行相互嵌套,第一个for循环算出大马的数量,第弛阻廖娓二个for循环算出中马的数量,再用总的数量减去中马和大马的数量即可得到小马的数量
6、第六步:因为我们在进行算法时,还要考虑一个问题就是我们的担子问题,不同年龄段的马它能负重的担数是不一样的,所以这里我们使用一个if判断语句进行判断,判断它们能负担的情况
7、以上就是我的方法,希望能帮助到你,有误之后还望多多见谅啦