C++程序问题了,帮忙啊 ?!555

来源:百度知道 编辑:UC知道 时间:2024/06/07 18:36:03
应用题:有20只猴子吃掉50个桃子,公猴每只吃5个,母猴每只吃4个,小猴每只吃2个,求公猴,母猴,小猴个多少只
#include<iostream.h>
void main()
{
int a,b,c;
for(a=1;a<11;a++)
for(b=1;b<13;b++)
{
c=20-a-b;
if(5*a+4*b+2*c==50)
cout<<"公猴="<<a<<","<<"母猴="<<b<<","<<"小猴="<<c<<endl;
}
}
帮忙分析一下啊,为什么这么计算啊
大致明白了,但是为什么 for(a=1;a<11;a++)中 要a=14这个条件呢?谢谢啊

1、设求知数a,b,c
a是代表公猴的数量,b是母猴的数量,c是小猴的数量。
2、公式
5*a+4*b+2*c==50(基本公式)
c=20-a-b

10只公猴可把50只桃子吃完,所以
a<11
13只母猴完全可以把桃子吃完,所以
b<13
3、运行思路
把a,b依次递减,求C值,如果求出来的三个值都满足基本公式,则就是正确的值。

#include<iostream.h>
void main()
{
int a,b,c;
for(a=1;a<11;a++) //最糟情况都是公猴的话50个桃子只够5只吃
for(b=1;b<13;b++) //条件同上
{
c=20-a-b; //c就是小猴的数量
if(5*a+4*b+2*c==50) //如果同时满足50个桃子够几个猴子吃
cout<<"公猴="<<a<<","<<"母猴="<<b<<","<<"小猴="<<c<<endl; //就输出当前的值
}
}

哪里不懂呢??

a(公猴)每个吃5个

50个就只够10只吃

for(a = 1;a < 11;a++)//循环10次
//b也一样
//c = 20-a-b
//条件要符合时才输出
if(5*a+4*b+2*c==50)
if(

这个就是极值法,思路就是
50个桃子会是公猴吃要A只,那么吃桃子的公猴不会大于A,
其它类推,和百马百瓦问题一样!