IX爷 发表于 2012-4-26 23:48:30

求助!鸡兔同笼问题用C++怎么解决!

C++老师布置的假期作业!10!

笼中有鸡和兔子一共30只,共有90只脚,用C++编程计算出有几只鸡几只兔子?

老师说结果不止一种,要用一个程序算出所有的可能情况......

还说以2x+4(30-2x)=90为基础就可以写出来了

可是我想了好多办法就是不会算,所以求助啊啊啊啊啊啊!!!!42!
我们刚学完循环 老师说用循环就可以解出来..........▽-▽ 可是我还是不会!56!

菠萝芒果君 发表于 2012-4-26 23:52:31

@127#把它们都炖了,就解决了(我自重

IX爷 发表于 2012-4-26 23:53:44

菠萝芒果君 发表于 2012-4-26 23:52 static/image/common/back.gif
把它们都炖了,就解决了(我自重

老师会把我先炖了!42!
我们老师好凶残的

轻舟过 发表于 2012-4-27 00:00:55

这个应该不难吧,就是一个二元方程组
而且应该只有唯一解或者无解,不可能有多于一个解的吧

IX爷 发表于 2012-4-27 00:04:04

轻舟过 发表于 2012-4-27 00:00 static/image/common/back.gif
这个应该不难吧,就是一个二元方程组
而且应该只有唯一解或者无解,不可能有多于一个解的吧 ...

这个真的多于一个解.....只有一个解我就不苦恼了!
这个真心已经不是我们小学数奥班看到的单纯的方程组了.....
你可以想想两只鸡就可以换一个兔子.....于是我就脑内死循环了!7!

轻舟过 发表于 2012-4-27 00:10:21

IX爷 发表于 2012-4-27 00:04 static/image/common/back.gif
这个真的多于一个解.....只有一个解我就不苦恼了!
这个真心已经不是我们小学数奥班看到的单纯的方程组了 ...

不就是这样吗
x+y=30
2x+4y=90
这样的话肯定只有一个解啊
多于一个解是怎么搞出来的
用两只鸡换一个兔子的话鸡和兔子的总数就会多1了,虽然脚的数量还是不变的

IX爷 发表于 2012-4-27 00:23:40

轻舟过 发表于 2012-4-27 00:10 static/image/common/back.gif
不就是这样吗
x+y=30
2x+4y=90


!56!不是不是 我搞错了
老师是说的是要怎么用循环来排除错误的组合......
组合有很多种但是其他都是错的要用循环赖排除错误组合
比如 if<15又怎么怎么样.....我果然被弄晕了

natalisilver 发表于 2012-4-27 00:29:14

算出来之后不要打断,继续算。。。

不知道这样可以么

轻舟过 发表于 2012-4-27 00:32:02

IX爷 发表于 2012-4-27 00:23 static/image/common/back.gif
不是不是 我搞错了
老师是说的是要怎么用循环来排除错误的组合......
组合有很多种但是其他都是错的 ...

虽然是可以直接代入解出来的
不过也可以循环x,然后用其中一个式子算出y,代入验证一下是否满足第二个式子,这样来求出解
老师是不是要你们这么做?@85#

IX爷 发表于 2012-4-27 00:36:27

轻舟过 发表于 2012-4-27 00:32 static/image/common/back.gif
虽然是可以直接代入解出来的
不过也可以循环x,然后用其中一个式子算出y,代入验证一下是否满足第二个式 ...

我们老师高深莫测他老人家怎么想的我不知道
不过多谢大哥指教了.....有一种方法总比我交不出程序强
谢谢了!!34!

光辉碎尘 发表于 2012-4-27 00:40:57

int i=0 ;int y=0 ;
判断i<(90/4) ,如果成立 i=i+1; y=/2 打出 i只兔子,y只鸡 不成立,退出

大概这个意思- -

IX爷 发表于 2012-4-27 00:42:07

natalisilver 发表于 2012-4-27 00:29 static/image/common/back.gif
算出来之后不要打断,继续算。。。

不知道这样可以么

请具体指教 我真心的啥都不懂......
这样不会输出错误答案吗?

轻舟过 发表于 2012-4-27 00:43:30

IX爷 发表于 2012-4-27 00:36 static/image/common/back.gif
我们老师高深莫测他老人家怎么想的我不知道
不过多谢大哥指教了.....有一种方法总比我交不出程序强
谢谢 ...

不用客气
那就暂且先这么做吧

秋声赋 发表于 2012-4-27 12:40:25

本帖最后由 秋声赋 于 2012-4-27 12:57 编辑

首先你那个方程错了
其次一个一次方程只会有 一个解无解 或者无穷多个解的情况不可能有多个解

我知道你老师的意思了

for(int i=0;i<=30;i++)
{
      if((2*i+4*(30-i))==90)
                cout<<"Chicken:"<<i<<"Rabbit:"<<(30-i)<<endl;
}

我很好奇你多大?

EricHo 发表于 2012-4-27 17:23:40

秋声赋 发表于 2012-4-27 12:40 static/image/common/back.gif
首先你那个方程错了
其次一个一次方程只会有 一个解无解 或者无穷多个解的情况不可能有多个解



18CM长*9CM直径.....................#21!
页: [1] 2
查看完整版本: 求助!鸡兔同笼问题用C++怎么解决!