算法练习——“百钱买百鸡”

来源:互联网 发布:天鹰行动23.d vb 编辑:程序博客网 时间:2024/05/18 01:55

题目:

“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”

解题思想:

分析题目可知有俩个定量,分别是百鸡和百钱,这里可设鸡翁、母、雏分别有X,Y,Z只,则会产生俩个等式:

X+Y+Z=100

5*X+3*Y+Z/3*1=100

我们先假设:

100元都买公鸡,则可以买20只;

100元都买母鸡,则可以买33只;

100元都买小鸡,则可以买300只。

所以在将要买的100只鸡中,公鸡不能超过20只,母鸡不能超过33只,小鸡随着公鸡与母鸡的数量进行搭配且保证1元买3只鸡,所以买的小鸡数一定可以被3整除

代码如下:

// 2017_6_25.cpp : 定义控制台应用程序的入口点。///***百钱买百鸡问题使用了枚举的思想*作者:GoodLi&会飞的鱼**/#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){int X,Y,Z;printf("一共买鸡的个数为:\n");for(X=0;X<20;X++){for(Y=0;Y<33;Y++){Z=100-X-Y;if(5*X+3*Y+Z/3*1==100&&Z%3==0){printf("公鸡:%d, 母鸡:%d, 小鸡:%d\n",X,Y,Z);}}}return 0;}

运行效果如下:

原创粉丝点击