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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 神之梦   /  2013-8-11 18:00  /  5288 人查看  /  93 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

少分的同学伤不起啊。。。。看题目
回复 使用道具 举报
我来瞅一瞅。
回复 使用道具 举报
本帖最后由 浪无痕-陈文坤 于 2013-8-11 20:47 编辑
  1. /*
  2. 用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,
  3. 编程计算共有几种买法(要求每种鸡至少要买1只)。
  4. */

  5. class BuyDemo
  6. {
  7.         public static void main(String[] args)
  8.        {
  9.                 System.out.println(fun(100));
  10.                
  11.         }
  12.         public static int fun(int sum)
  13.         {
  14.                 int count = 0;
  15.                 for(int x = 1; x < 20  ; x++)
  16.                         for(int y = 1; y < 33 ; y++)
  17.                                 for(int z = 1; z < 100 ; z++)
  18.                                 {        
  19.                                         if((x+y+z)== 100 &&(3*sum == (x*15+y*9+z)))
  20.                                         {
  21.                                                 count++;
  22.                                                 System.out.println("x=" + x +", y=" + y + ", z=" + z);
  23.                                         }
  24.                                         continue;
  25.                                 }
  26.                 return count;
  27.         }
  28. }
  29. /*
  30. x=4, y=18, z=78
  31. x=8, y=11, z=81
  32. x=12, y=4, z=84
  33. 3
  34. */
复制代码

评分

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

查看全部评分

回复 使用道具 举报
  1. public class BuyChicken {
  2.         /**
  3.          * 用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,
  4.          * 编程计算共有几种买法(要求每种鸡至少要买1只)
  5.          * 思路:定义变量 x y z分别代表公鸡数,母鸡数和,小鸡数
  6.          * 由题目可知变量的大致范围为:0<x<20  0<y<33  
  7.          * 切满足方程:
  8.          * 5x+3y+z/3=100 x+y+z=100
  9.          * 答案为:
  10.          * 公鸡,母鸡,小鸡:12,4,84
  11.      * 公鸡,母鸡,小鸡:8,11,81
  12.      * 公鸡,母鸡,小鸡:4,18,78           
  13.          * @param args
  14.          */
  15.         public static void main(String[] args)
  16.         {                       
  17.                 for(int j = 1;j<33;j++)//母鸡书小于33只
  18.                 {                                       
  19.                         for(int i = 1;i<20;i++)//公鸡数小于20只
  20.                         {
  21.                                 if((100-i-j)%3 == 0&& (5*i+j*3+(100-i-j)/3 == 100))//当公鸡和母鸡的数目满足该方程时,就是要找的买鸡方案之一,输出即可
  22.                                 {
  23.                                         System.out.println("公鸡,母鸡,小鸡:"+i+","+j+","+(100-i-j));
  24.                                 }
  25.                         }                               
  26.                 }                                               
  27.         }

  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 很给力!

查看全部评分

回复 使用道具 举报
问题有点抽象了
  1. /**
  2. * 2013-8-11下午8:44:41
  3. * Test1.java
  4. * Administrator
  5. */

  6. /**
  7. * @author Administrator
  8. * @time 2013-8-11下午8:44:41
  9. */
  10. public class Test1 {
  11.         static int gongji=1;
  12.         static int muji=1;
  13.         static int chuji=1;
  14.         public static void main(String[] args) {
  15.                 int count=0;
  16.                 int count1=0;
  17.                 //因为每次循环,母鸡要重置为1,
  18.                 for(;moneyCOsted()<=100;gongji++,muji=1)
  19.                         for(muji=1;moneyCOsted()<=100;muji++,chuji=1)
  20.                                 for(chuji=1;moneyCOsted()<=100;chuji++){
  21.                                         count++;
  22.                                         if(moneyCOsted()==100){
  23.                                                 count1++;
  24.                                         }
  25.                                 }
  26.                 System.out.println("包含未花完钱的购鸡计划 :"+count);
  27.                 System.out.println("只包含花完钱的购鸡计划 :"+count1);
  28.                
  29.         }
  30.         private static int moneyCOsted(){
  31.                 return gongji*5+muji*3+chuji;
  32.         }
  33.        
  34. }
复制代码
结果是:
包含未花完钱的购鸡计划 :9821
只包含花完钱的购鸡计划 :304
回复 使用道具 举报
我也来参与一下
回复 使用道具 举报
  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 (5*x + 3*y + z/3 <= 100 ) {
  18.                                         System.out.println("公鸡="+ x + "母鸡 =" + y + "雏鸡 =" + z);
  19.                                 }
  20.                         }
  21.                 }

  22.         }

  23. }
复制代码
公鸡=1母鸡 =1雏鸡 =98
公鸡=1母鸡 =2雏鸡 =97
公鸡=1母鸡 =3雏鸡 =96
公鸡=1母鸡 =4雏鸡 =95
公鸡=1母鸡 =5雏鸡 =94
公鸡=1母鸡 =6雏鸡 =93
公鸡=1母鸡 =7雏鸡 =92
公鸡=1母鸡 =8雏鸡 =91
公鸡=1母鸡 =9雏鸡 =90
公鸡=1母鸡 =10雏鸡 =89
公鸡=1母鸡 =11雏鸡 =88
公鸡=1母鸡 =12雏鸡 =87
公鸡=1母鸡 =13雏鸡 =86
公鸡=1母鸡 =14雏鸡 =85
公鸡=1母鸡 =15雏鸡 =84
公鸡=1母鸡 =16雏鸡 =83
公鸡=1母鸡 =17雏鸡 =82
公鸡=1母鸡 =18雏鸡 =81
公鸡=1母鸡 =19雏鸡 =80
公鸡=1母鸡 =20雏鸡 =79
公鸡=1母鸡 =21雏鸡 =78
公鸡=1母鸡 =22雏鸡 =77
公鸡=1母鸡 =23雏鸡 =76
公鸡=2母鸡 =1雏鸡 =97
公鸡=2母鸡 =2雏鸡 =96
公鸡=2母鸡 =3雏鸡 =95
公鸡=2母鸡 =4雏鸡 =94
公鸡=2母鸡 =5雏鸡 =93
公鸡=2母鸡 =6雏鸡 =92
公鸡=2母鸡 =7雏鸡 =91
公鸡=2母鸡 =8雏鸡 =90
公鸡=2母鸡 =9雏鸡 =89
公鸡=2母鸡 =10雏鸡 =88
公鸡=2母鸡 =11雏鸡 =87
公鸡=2母鸡 =12雏鸡 =86
公鸡=2母鸡 =13雏鸡 =85
公鸡=2母鸡 =14雏鸡 =84
公鸡=2母鸡 =15雏鸡 =83
公鸡=2母鸡 =16雏鸡 =82
公鸡=2母鸡 =17雏鸡 =81
公鸡=2母鸡 =18雏鸡 =80
公鸡=2母鸡 =19雏鸡 =79
公鸡=2母鸡 =20雏鸡 =78
公鸡=2母鸡 =21雏鸡 =77
公鸡=3母鸡 =1雏鸡 =96
公鸡=3母鸡 =2雏鸡 =95
公鸡=3母鸡 =3雏鸡 =94
公鸡=3母鸡 =4雏鸡 =93
公鸡=3母鸡 =5雏鸡 =92
公鸡=3母鸡 =6雏鸡 =91
公鸡=3母鸡 =7雏鸡 =90
公鸡=3母鸡 =8雏鸡 =89
公鸡=3母鸡 =9雏鸡 =88
公鸡=3母鸡 =10雏鸡 =87
公鸡=3母鸡 =11雏鸡 =86
公鸡=3母鸡 =12雏鸡 =85
公鸡=3母鸡 =13雏鸡 =84
公鸡=3母鸡 =14雏鸡 =83
公鸡=3母鸡 =15雏鸡 =82
公鸡=3母鸡 =16雏鸡 =81
公鸡=3母鸡 =17雏鸡 =80
公鸡=3母鸡 =18雏鸡 =79
公鸡=3母鸡 =19雏鸡 =78
公鸡=3母鸡 =20雏鸡 =77
公鸡=4母鸡 =1雏鸡 =95
公鸡=4母鸡 =2雏鸡 =94
公鸡=4母鸡 =3雏鸡 =93
公鸡=4母鸡 =4雏鸡 =92
公鸡=4母鸡 =5雏鸡 =91
公鸡=4母鸡 =6雏鸡 =90
公鸡=4母鸡 =7雏鸡 =89
公鸡=4母鸡 =8雏鸡 =88
公鸡=4母鸡 =9雏鸡 =87
公鸡=4母鸡 =10雏鸡 =86
公鸡=4母鸡 =11雏鸡 =85
公鸡=4母鸡 =12雏鸡 =84
公鸡=4母鸡 =13雏鸡 =83
公鸡=4母鸡 =14雏鸡 =82
公鸡=4母鸡 =15雏鸡 =81
公鸡=4母鸡 =16雏鸡 =80
公鸡=4母鸡 =17雏鸡 =79
公鸡=4母鸡 =18雏鸡 =78
公鸡=5母鸡 =1雏鸡 =94
公鸡=5母鸡 =2雏鸡 =93
公鸡=5母鸡 =3雏鸡 =92
公鸡=5母鸡 =4雏鸡 =91
公鸡=5母鸡 =5雏鸡 =90
公鸡=5母鸡 =6雏鸡 =89
公鸡=5母鸡 =7雏鸡 =88
公鸡=5母鸡 =8雏鸡 =87
公鸡=5母鸡 =9雏鸡 =86
公鸡=5母鸡 =10雏鸡 =85
公鸡=5母鸡 =11雏鸡 =84
公鸡=5母鸡 =12雏鸡 =83
公鸡=5母鸡 =13雏鸡 =82
公鸡=5母鸡 =14雏鸡 =81
公鸡=5母鸡 =15雏鸡 =80
公鸡=5母鸡 =16雏鸡 =79
公鸡=6母鸡 =1雏鸡 =93
公鸡=6母鸡 =2雏鸡 =92
公鸡=6母鸡 =3雏鸡 =91
公鸡=6母鸡 =4雏鸡 =90
公鸡=6母鸡 =5雏鸡 =89
公鸡=6母鸡 =6雏鸡 =88
公鸡=6母鸡 =7雏鸡 =87
公鸡=6母鸡 =8雏鸡 =86
公鸡=6母鸡 =9雏鸡 =85
公鸡=6母鸡 =10雏鸡 =84
公鸡=6母鸡 =11雏鸡 =83
公鸡=6母鸡 =12雏鸡 =82
公鸡=6母鸡 =13雏鸡 =81
公鸡=6母鸡 =14雏鸡 =80
公鸡=7母鸡 =1雏鸡 =92
公鸡=7母鸡 =2雏鸡 =91
公鸡=7母鸡 =3雏鸡 =90
公鸡=7母鸡 =4雏鸡 =89
公鸡=7母鸡 =5雏鸡 =88
公鸡=7母鸡 =6雏鸡 =87
公鸡=7母鸡 =7雏鸡 =86
公鸡=7母鸡 =8雏鸡 =85
公鸡=7母鸡 =9雏鸡 =84
公鸡=7母鸡 =10雏鸡 =83
公鸡=7母鸡 =11雏鸡 =82
公鸡=7母鸡 =12雏鸡 =81
公鸡=7母鸡 =13雏鸡 =80
公鸡=8母鸡 =1雏鸡 =91
公鸡=8母鸡 =2雏鸡 =90
公鸡=8母鸡 =3雏鸡 =89
公鸡=8母鸡 =4雏鸡 =88
公鸡=8母鸡 =5雏鸡 =87
公鸡=8母鸡 =6雏鸡 =86
公鸡=8母鸡 =7雏鸡 =85
公鸡=8母鸡 =8雏鸡 =84
公鸡=8母鸡 =9雏鸡 =83
公鸡=8母鸡 =10雏鸡 =82
公鸡=8母鸡 =11雏鸡 =81
公鸡=9母鸡 =1雏鸡 =90
公鸡=9母鸡 =2雏鸡 =89
公鸡=9母鸡 =3雏鸡 =88
公鸡=9母鸡 =4雏鸡 =87
公鸡=9母鸡 =5雏鸡 =86
公鸡=9母鸡 =6雏鸡 =85
公鸡=9母鸡 =7雏鸡 =84
公鸡=9母鸡 =8雏鸡 =83
公鸡=9母鸡 =9雏鸡 =82
公鸡=10母鸡 =1雏鸡 =89
公鸡=10母鸡 =2雏鸡 =88
公鸡=10母鸡 =3雏鸡 =87
公鸡=10母鸡 =4雏鸡 =86
公鸡=10母鸡 =5雏鸡 =85
公鸡=10母鸡 =6雏鸡 =84
公鸡=10母鸡 =7雏鸡 =83
公鸡=11母鸡 =1雏鸡 =88
公鸡=11母鸡 =2雏鸡 =87
公鸡=11母鸡 =3雏鸡 =86
公鸡=11母鸡 =4雏鸡 =85
公鸡=11母鸡 =5雏鸡 =84
公鸡=11母鸡 =6雏鸡 =83
公鸡=12母鸡 =1雏鸡 =87
公鸡=12母鸡 =2雏鸡 =86
公鸡=12母鸡 =3雏鸡 =85
公鸡=12母鸡 =4雏鸡 =84
公鸡=13母鸡 =1雏鸡 =86
公鸡=13母鸡 =2雏鸡 =85
回复 使用道具 举报
看看哈 答题的技术分
回复 使用道具 举报
:)                              
回复 使用道具 举报
回复才能看题啊
回复 使用道具 举报
看看~~~~~~~~
回复 使用道具 举报
  1. package it.cast.demo1;

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

  9.         public static void main(String args[]) {
  10.                 // 5x+3y+z/3=100       x+y+z=100
  11.                 //公鸡个数
  12.                 for (int x = 1; x < 20; x++) {
  13.                         //母鸡个数
  14.                         for (int y = 1; y < 34; y++) {
  15.                                 //小鸡个数
  16.                                 for (int z = 0; z < 100; z += 3) {
  17.                                         //根据题目进行条件判断
  18.                                         if((5 * x + 3 * y + z / 3 == 100) && (x + y + z == 100)) {
  19.                                                 //将结果输出
  20.                                                 System.out.println("公鸡" + x + "只" + "母鸡" +y + "只" + "雏鸡" + z + "只");
  21.                                         }
  22.                                 }
  23.                         }
  24.                 }
  25.         }
  26. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
jrry 中级黑马 2013-8-11 22:03:28
33#
一分也是分
回复 使用道具 举报
以前做过换硬币的

  1. public class lianxi {

  2.         public static void main(String[] args) {
  3.                 int n = 0;
  4.                 int i, j, k = 0;
  5.                 for (i = 1; i <= 20; i++)
  6.                         for (j = 1; j <= 33; j++) {
  7.                                 k = 100 - i - j;
  8.                                 if ((k % 3) == 0 && (5 * i + 3 * j + k / 3) == 100)
  9.                                         n++;
  10.                         }
  11.                 System.out.println(n);
  12.         }
复制代码

点评

最好可以把每种组合也打印出来  发表于 2013-8-12 23:24

评分

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

查看全部评分

回复 使用道具 举报
  1. public class Chicken {
  2.         public static void main(String[] args) {
  3.                 int count=0;//计数器1
  4.                 int count1=0;//计数器2
  5.                 int i=1;//公鸡
  6.                 int j=1;//母鸡
  7.                 int r=1;//雏鸡
  8.                 //因为每次循环,母鸡要重置为1,
  9.                 for(;i*5+j*3+r<=100;i++,j=1)//重置母鸡
  10.                         for(j=1;i*5+j*3+r<=100;j++,r=1)//重置雏鸡
  11.                                 for(r=1;i*5+j*3+r<=100;r++){
  12.                                         count++;
  13.                                         if(i*5+j*3+r==100){
  14.                                                 count1++;
  15.                                         }
  16.                                 }
  17.                 System.out.println("没有花完钱的计数 :"+count);
  18.                 System.out.println("花完钱的计数 :"+count1);
  19.                
  20.         }
  21.        
  22. }
复制代码

点评

好像不是我题意要的答案  发表于 2013-8-12 23:25
回复 使用道具 举报
mulua 中级黑马 2013-8-11 22:20:58
36#
24   加油         
回复 使用道具 举报
/**思想:1:明确结果:只知道我有100元,要买100只鸡,于是:5a+3b+1/3c=100元,a+b+c=100只。所以:{100元-(5a+3b)}*3(除以1/3=买雏鸡的只数)+a+b=100只。int类型,for循环和if语句,打印循环次数total。

      2:明确未知内容:此题有3个变量,公鸡a,母鸡b,雏鸡c.共有几种买法,也不知道。设为total。*/

public class Chicken
{
        public static void main(String[] args)
        {
                int total = 0;
                for(int a = 0;a<=33;a++)
                {
                        for(int b = 0;b<=20;b++)
                        {
                                for(int c = 0;c<=100;c+=3)
                                {
                                        total++;
                                        if(a*3 + b*5 + c/3 == 100 && a + b + c == 100)
                                        {
                                                System.out.println("==========");
                                                System.out.println("公鸡" + a);
                                                System.out.println("母鸡" + b);
                                                System.out.println("小鸡" + c);
                                        }
                                }
                        }
                }
                System.out.println("total = " + total);
        }
}

点评

答案好像有点问题  发表于 2013-8-12 23:26
回复 使用道具 举报
  1. /**
  2. * 题目:
  3.         百钱百鸡问题。
  4.         用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。

  5. 要求:
  6.        1、直接回复本帖作答,题目须自己做出。
  7.        2、代码放在编辑菜单的这个"<>"里面。
  8.        3、可将结果一并贴出,只要你代码不复杂的话。
  9. *
  10. *思路:1:重点    100钱买 100只鸡       公鸡:五钱 /只       母鸡:三钱 /只     雏鸡:一钱/三只
  11. *               
  12. */
  13. public class Exercise_6 {
  14.         
  15.         public static void main(String[] args) {
  16.                 int money = 100;//  100钱
  17.                 int totalFowl = 100;//100只鸡
  18.                 int count = 0;//组合次数
  19. //                cock一只公鸡  五钱 /只
  20. //                hen一只 母鸡  三钱 /只
  21. //                chick三只 雏鸡 一钱/三只
  22.                 for(int cock = 1;cock<=totalFowl/5;cock++){
  23.                         for(int hen = 1;hen<=totalFowl/3;hen++){
  24.                                 int chick = totalFowl -cock-hen;
  25.                                 //只有雏鸡只数是3的倍数钱才是整数所以先判断chick%3==0再判断100只鸡的钱为100
  26.                                 if(chick%3==0&&5*cock+3*hen+chick/3==money){
  27.                                         System.out.println("公鸡:"+cock+"只,母鸡:"+hen+"只,雏鸡:"+chick+"只");
  28.                                         count++;
  29.                                 }
  30.                         }
  31.                 }
  32.                 System.out.println("答:编程计算共有"+count+"种买法");
  33.         }
  34. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
jrry 中级黑马 2013-8-11 23:16:56
39#
  1. /**
  2. * 百钱百鸡问题。  用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。
  3. * 思路:因为每种鸡至少买一只,那么我们先假设只买1只公鸡,买1只母鸡, 这样的话还有98只鸡没买,还剩100 - 1*5 - 1*3 = 92钱,因为1钱可以买3只雏鸡,92*3!=98,所以这种买法不可行。
  4. * 如果买两只公鸡的话就需要2*5钱,买2只母鸡的话就需要2*3钱,依次推算可得出算法
  5. * @author jerry
  6. *
  7. */
  8. public class BuyChicken {
  9.         public static void main(String[] args) {
  10.                 //有count种买法
  11.                 int count = 0;
  12.                 //x为买公鸡所花的钱,从第一次买1只公鸡,花了5钱开始循环遍历,每种鸡至少买一只,这样买公鸡最多只能花96钱,
  13.                 for (int x = 5;x <= 96;x ++)
  14.                 {
  15.                         //x需要被5整除
  16.                         if (x % 5 == 0)
  17.                         {
  18.                                 //y为买母鸡所花的钱,从第一次买1只母鸡,花了3钱开始循环遍历,每种鸡至少买一只,这样买公鸡最多只能花94钱,
  19.                                 for (int y = 3;y <= 94;y ++)
  20.                                 {
  21.                                         //y需要被3整除
  22.                                         if (y % 3 == 0)
  23.                                         {
  24.                                                 //买完公鸡母鸡还剩这么i钱
  25.                                                 int i = 100 - x - y;
  26.                                                 //买完公鸡母鸡还有这么j只鸡没买
  27.                                                 int j = 100 - x/5 - y/3;
  28.                                                 //如果i * 3为j只鸡的数量,则此方法可行
  29.                                                 if (i * 3 == j) {
  30.                                                         System.out.println("公鸡数:" + x/5 + "," + "母鸡数:" + y/3 + "," +"雏鸡数:" + "," + j);
  31.                                                         count ++;
  32.                                                 }
  33.                                         }
  34.                                 }
  35.                         }
  36.                 }
  37.                 System.out.println("所以有" + count + "种买法");
  38.         }
  39. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
☆今☆ 来自手机 中级黑马 2013-8-11 23:52:38
40#
呵呵。。。。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马