A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 神之梦 于 2013-8-12 23:51 编辑


                                            

                                  活动结束,有神马问题请联系楼主,欢迎下次再来!
                                          



说明:
      1、题目很简单,作为还在奋斗进云舞而少点分的童鞋一点点助攻。
      2、分不多,就一分,嫌少的就不要回复了!
      3、活动开启后24小时内回复有效。
      4、回复后两小时内答题有效!

提醒:
      大部分童鞋的答案都是正确的,不过有个别童鞋的答案可能有误,如果错了就没分咯。


题目:
        百钱百鸡问题。
        用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。

要求:
       1、直接回复本帖作答,题目须自己做出。
       2、代码放在编辑菜单的这个"<>"里面。
       3、可将结果一并贴出,只要你代码不复杂的话。






93 个回复

正序浏览
  1. package Text.cn;

  2. /**
  3. * @author mmt
  4. *百钱百鸡问题。
  5.         用100钱买100只鸡,公鸡一只五钱,
  6.         母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。
  7. */
  8. public class Text3 {

  9.         /**
  10.          * @param args
  11.          */
  12.         public static void main(String[] args) {
  13.                 // TODO Auto-generated method stub
  14.                 for (int x = 1; x < 98; x++) {
  15.                         for (int y = 1; y < 100 - x -1; y++) {
  16.                                 int z = 100 - x - y;
  17.                                 if (15*x + 9*y + z == 300) {
  18.                                         System.out.println("公鸡="+ x + "母鸡 =" + y + "雏鸡 =" + z);
  19.                                 }
  20.                         }
  21.                 }

  22.         }

  23. }
复制代码
这是修改后的代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 我想说,中国文字博大精深

查看全部评分

回复 使用道具 举报
小五555 发表于 2013-8-11 21:12
公鸡=1母鸡 =1雏鸡 =98
公鸡=1母鸡 =2雏鸡 =97
公鸡=1母鸡 =3雏鸡 =96

公鸡=4母鸡 =18雏鸡 =78
公鸡=8母鸡 =11雏鸡 =81
公鸡=12母鸡 =4雏鸡 =84
如果100钱正好花完的话,上述为答案

回复 使用道具 举报
小五555 发表于 2013-8-11 21:12
公鸡=1母鸡 =1雏鸡 =98
公鸡=1母鸡 =2雏鸡 =97
公鸡=1母鸡 =3雏鸡 =96

版主,题目中没有要求一定要完全花掉这100钱啊,我计算过,加起来都是100只鸡,而且也花不到100钱啊,怎么会不对呢?
回复 使用道具 举报
还在延续的啊,加油,来支持了。。。

点评

躲哪去了,你  发表于 2013-8-15 18:27
回复 使用道具 举报
panda@uu90 发表于 2013-8-13 21:07
谢谢指教,下次努力,那代码为什么还是编译失败,可否帮忙找出原因,谢谢。 ...

你把最后的代码贴出来先
回复 使用道具 举报
神之梦 发表于 2013-8-13 12:15
基本上只要遍历就哦了
我忘了你结果了,现在没电脑,刚看了下你代码,主要有两点,一是题意说每样必须有 ...

谢谢指教,下次努力,那代码为什么还是编译失败,可否帮忙找出原因,谢谢。
回复 使用道具 举报

好像没标明用什么语言写把:#
回复 使用道具 举报
panda@uu90 发表于 2013-8-13 00:06
主要运用的还是 遍历  
还有用到枚举或别的各种算法,我还没有学到那里,我就不自量力的做,嘿嘿,有点不 ...

基本上只要遍历就哦了
我忘了你结果了,现在没电脑,刚看了下你代码,主要有两点,一是题意说每样必须有一只,你循环是从0开始的。二是你的总计应该放if里面而不是if外面
回复 使用道具 举报
panda@uu90 发表于 2013-8-13 00:04
忘记把答案写出来了。除此你感觉那里还有问题?谢谢指出

主要运用的还是 遍历  
还有用到枚举或别的各种算法,我还没有学到那里,我就不自量力的做,嘿嘿,有点不好意思,出丑了
回复 使用道具 举报
panda@uu90 发表于 2013-8-11 22:39
/**思想:1:明确结果:只知道我有100元,要买100只鸡,于是:5a+3b+1/3c=100元,a+b+c=100只。所以:{100元 ...

忘记把答案写出来了。除此你感觉那里还有问题?谢谢指出
回复 使用道具 举报
chslzj 发表于 2013-8-11 21:08
问题有点抽象了结果是:
包含未花完钱的购鸡计划 :9821
只包含花完钱的购鸡计划 :304 ...

百钱百鸡意思应该就是说花一百块钱买一百只鸡,不存在还留点钱。
另外,哥们你的答案是说有300多种可能?
回复 使用道具 举报
yan 中级黑马 2013-8-12 20:12:38
63#
问下版主,我昨天回答问题了,怎么没得到消息,不知道是对还是错,也想赚技术分

点评

回答这个帖的还是其他的,把链接给我  发表于 2013-8-12 23:48
回复 使用道具 举报
我要参加这次活动
回复 使用道具 举报
  1. public class  haha
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 double $=91.666666666;
  6.                
  7.                
  8.                
  9.                 for (int x=1;x<20 ;x++,$-=5 )
  10.                 {
  11.                         for (int y=1;y<33 ;y++,$-=3 )
  12.                         {
  13.                                 for (int z=0;z<100 ;z++,$-=0.333333333 )
  14.                                 {
  15.                                         if (x+y+z==100)
  16.                                         {
  17.                                                 if ($>=0.0)
  18.                                                 {
  19.                                                         System.out.println($);
  20.                                                 }
  21.                                                
  22.                                         }
  23.                                 }
  24.                         }
  25.                 }}}
复制代码

点评

哥们,你打印出来的是神马?  发表于 2013-8-12 23:47
哥们,你打印出来的是神马?  发表于 2013-8-12 23:47
回复 使用道具 举报
3种
  1. class Test1_c
  2. {
  3.         //用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。
  4.         public static void main(String[] args)
  5.         {
  6.                 System.out.println(key());
  7.         }
  8.         static int key()
  9.         {
  10.                 int tot=0;//i为公鸡,j为母鸡,k为小鸡,tot记录方法数。
  11.                 for(int i=1;i<20;i++)
  12.                 for(int j=1;j<33;j++)
  13.                 for(int k=3;k<=90;k+=3)
  14.                 {
  15.                         if(i+j+k==100&&i*5+j*3+k/3==100)
  16.                         {
  17.                                 tot++;
  18.                         }
  19.                 }
  20.                 return tot;
  21.         }
  22. }
复制代码

点评

把每种组合情况打印出来更好  发表于 2013-8-12 23:45

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
  1. public static void main(String[] args){
  2.        
  3.         int chicken;  //雏鸡
  4.         System.out.println("百鸡百钱分布发下:");
  5.          //cock:公鸡
  6.         for(int cock=1;cock<99;cock++){ //因为每种鸡至少要买1只,只此公鸡最多可买98只
  7.                 //hen:母鸡
  8.                 for(int hen=1;hen<100-cock;hen++){ //因为每种鸡至少要买1只,只此母鸡最多可买98只
  9.                
  10.                         chicken=100-cock-hen;

  11.                         if(chicken!=0 && chicken % 3 ==0){//如果花100钱,则雏鸡数一定是3的倍数

  12.                                 if(5*cock+3*hen+chicken/3==100){
  13.                                         System.out.println("公鸡的个数:"+cock);
  14.                                         System.out.println("母鸡的个数:"+hen);
  15.                                         System.out.println("雏鸡的个数:"+chicken);
  16.                                         System.out.println("");
  17.                                 }                       
  18.                         }                       
  19.                 }
  20.         }       
  21. }
复制代码
百鸡百钱分布发下:
公鸡的个数:4
母鸡的个数:18
雏鸡的个数:78

公鸡的个数:8
母鸡的个数:11
雏鸡的个数:81

公鸡的个数:12
母鸡的个数:4
雏鸡的个数:84

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
苗子,我来看看

点评

看完也不答题,BS  发表于 2013-8-12 23:44
回复 使用道具 举报
看题目……
回复 使用道具 举报
题目在哪里?
回复 使用道具 举报

答案是3种,一看网上都有答案
主要运用的还是 遍历  
还有用到枚举或别的各种算法

点评

汗、、、我原本是想让你们自己独立思考并写出的  发表于 2013-8-12 23:42
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马