百钱百鸡问题

问题:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,用百钱买百鸡,问各买多少只?

设计思路:公鸡+母鸡+小鸡=100, 公鸡*5+母鸡*3+(小鸡/3)*1=100,100元全买公鸡最多买20只,全买母鸡最多33只,全买小鸡最多100只(数学上可以买300只,但题目要求只卖100只),利用三层嵌套循环找到符合条件的情况。

 

#include<iostream>
using namespace std;
int main()
{
int gongji,muji,xiaoji;
for(gongji=0;gongji<=20;gongji++)
{
for(muji=0;muji<=33;muji++)
{

for(xiaoji=0;xiaoji<=100;xiaoji++)
{
if(gongji+muji+xiaoji==100&&5*gongji+3*muji+xiaoji/3.0==100)
{
cout<<gongji<<" "<<muji<<" "<<xiaoji<<endl;
}
}
}

}
return 0;
}

总结:在条件判定时要注意xiaoji除以3.0保证它的结果是浮点数,因为一旦除以3则是整除,整除会造成误差的出现;

小鸡虽然最多买300只,但题干要求买一百只。

 

posted @ 2023-04-11 21:00  千恒  阅读(95)  评论(0编辑  收藏  举报