| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2304 人关注过本帖, 1 人收藏
标题:百钱买百鸡的问题(求助)
只看楼主 加入收藏
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏(1)
 问题点数:0 回复次数:10 
百钱买百鸡的问题(求助)

我记得我们老师说过一个题,题是这样的:用一百块钱买一百只鸡,大鸡5块钱一只,子鸡3块钱一只,小鸡1块钱3只.

老师说用C语言只能得出一个结果,而用别的计算机语言可以得出三种结果,请问这是算法的问题,还是语言的问题?

请顺便把这段程序写出来,谢谢!

我这样写的对不对?

main()

{int i,j,k;

for(i=0;i<=20;i++)

for(j=0;j<=34;j++)

for(k=0;k<=300;k++)

if(5*i+3*j+1.0/3*k=100) printf("%d,%d,%d\n",i,j,k);

}

我认为这样写好像得不出结果,因为1.0/3*3!=1,这好像出了点问题,请高手帮忙,谢谢!

搜索更多相关主题的帖子: 子鸡 C语言 int 
2004-05-15 23:52
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
写法错!i+j+k=100才行,我用vb写过,三种结果!c语言也不例外

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2004-05-16 11:05
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

#include<stdio.h> main()

{ int i,j,k; for(i=0;i<=20;i++) for(j=0;j<=34;j++) for(k=0;k<=100;k++) if((i+j+k==100)&&(5*i+3*j+1.0/3*k==100)) printf("%d,%d,%d\n",i,j,k);

}

答案是

0 ,25,75

4 ,18,78

8, 11,81

12,4 ,84

四种答案


偶是一只想要飞却忘了咋飞的菜鸟
2004-05-16 15:06
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 
他还有个条件没说,每种鸡至少一只:)

我的主页 http://www.
2004-05-16 15:58
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

晕 那有什么区别?????

将三个循环改成从1开始不就得了


偶是一只想要飞却忘了咋飞的菜鸟
2004-05-16 19:46
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
谢谢各位,忘了一个条件!!

2004-05-17 16:36
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

我知道结果了,用C也能算出三种结果,老师说只能算出一种结果,可能是他的算法有问题吧,程序如下:

main() {int i,j,k,n=0; for(i=1;i<=20;i++) for(j=1;j<=34;j++) for(k=3;k<=300;k+=3) if((5*i+3*j+k/3==100&&i+j+k==100)) {n++;printf("%2d:%d %d %d\n",n,i,j,k);} }

结果是:

1: 4   18  78

2: 8   11  81

3: 12   4  84

谢谢各位的支持!


2004-05-17 18:05
zjbnihao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-5-27
收藏
得分:0 
不错 呵呵
2004-05-27 01:01
昏昏
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-6-1
收藏
得分:0 
一个简单的C解法

这样的解法简单高效。

#include<stdio.h> void main() { int i,j,k;/*i is cock num,j is hen num,k is chick num*/

for(i=0;i<=20;i++) for(j=0;j<=33;j++) { k = 100 - (i+j); if (k % 3 == 0) if (5*i+3*j+k/3==100) printf(Cock num:%d Hen num:%d Chick num:%d\n",i,j,k); } }

2004-06-01 01:07
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

楼上的兄弟,英语学得不错,连解释都用英语;

不过算法真的不错!


2004-06-06 13:00
快速回复:百钱买百鸡的问题(求助)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024237 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved