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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huangxuanheng 中级黑马   /  2014-8-7 22:20  /  3626 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少?

13 个回复

倒序浏览
用三个循环,分别代表3种鸡有多少只,在某个数值会有满足100只满足100个铜钱的条件。
名字是随便起的
  1. class p
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int a=0,b=0,c=0,num=100;
  6.                 for (int i=0;i<=20 ;i++ )//公鸡的数量
  7.                 {
  8.                         for (int j=0;j<=(int)((100-5*i)/3) ;j++ )//母鸡的数量
  9.                         {
  10.                                 for (int z=0;z<= (100-5*i-3*i); z+=3)//小鸡的数量
  11.                                 {
  12.                                         if ((i+j+3*z==100)&&(5*i+3*j+z==100))
  13.                                         {
  14.                                                 System.out.println("公鸡为"+i+"只,母鸡为"+j+"只,小鸡为"+3*z);
  15.                                                 System.out.println("公鸡钱为"+5*i+",母鸡钱为"+3*j+",小鸡钱"+z);
  16.                                         }
  17.                                 }
  18.                         }
  19.                 }
  20.         }
  21. }
复制代码
回复 使用道具 举报
public static void main(String[] args){
                //确定公鸡的数量,5元一只,最多可买20只
                 for(int i=0;i<=20;i++){
                        //确定母鸡的数量,3元一只,最多能买34只
                         for(int j=0;j<34;j++){
                                 //当公鸡和母鸡的数量确定了,小鸡的数量也就确定了
                                 for(int k=0;k<=100-i-j;k++){
                                         //当满足条件时,即100元买100只鸡
                                         if(i+j+k==100 && 5*i+3*j+k/3==100){
                                                         System.out.println("数量:         公鸡:"+i+"  母鸡:"+j+"  小鸡 :"+k+"\n");
                                                 System.out.println("钱    :         公鸡:"+5*i+"  母鸡:"+3*j+"  小鸡 :"+(100-(5*i+3*j))+"\n");
                                         }
                                 }
                         }
                 }
         }
回复 使用道具 举报
李文方 发表于 2014-8-8 08:25
public static void main(String[] args){
                //确定公鸡的数量,5元一只,最多可买20只
                 for(int i=0;i ...

二三层有不必要的循环,应该是你楼上那位的
回复 使用道具 举报
小小菜鸟007 来自手机 初级黑马 2014-8-8 10:01:23
报纸
典型的贪心算法
回复 使用道具 举报
学习一下
回复 使用道具 举报
本帖最后由 周峰峰 于 2014-8-8 16:31 编辑

public class demo4 {

        /**
         * 百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少?
         * @param args
         */
        public static void main(String[] args) {
                for(int x=1;x<=100;x++){
                        for(int y=1;y<=100;y++){
                                for(int z=1;3*z<=100;z++){
                                        if(x+y+3*z==100&&x*5+y*3+z==100){
                                                System.out.println("公鸡"+x+"只,母鸡"+y+"只,小鸡"+3*z+"只");
                                        }
                                }
                        }
                }
        }

}
回复 使用道具 举报
冒牌高手 发表于 2014-8-8 07:44
用三个循环,分别代表3种鸡有多少只,在某个数值会有满足100只满足100个铜钱的条件。
名字是随便起的
...

非常好的代码
回复 使用道具 举报
李文方 发表于 2014-8-8 08:25
public static void main(String[] args){
                //确定公鸡的数量,5元一只,最多可买20只
                 for(int i=0;i ...

不错,做的不错
回复 使用道具 举报
liqi 发表于 2014-8-8 09:41
二三层有不必要的循环,应该是你楼上那位的

:loveliness:
回复 使用道具 举报
beyondjia 发表于 2014-8-8 14:55
这样的
public static void main(String args[])
   {

做的不错....
回复 使用道具 举报
周峰峰 发表于 2014-8-8 15:02
public class demo4 {

        /**

:loveliness:
回复 使用道具 举报
路过学习了
回复 使用道具 举报
学习了!!!真牛
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马