黑马程序员技术交流社区

标题: 如何用代码实现,最好配有注释 求大神帮忙 [打印本页]

作者: haocds3015    时间: 2015-11-4 12:40
标题: 如何用代码实现,最好配有注释 求大神帮忙
马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50元;每个男人花3元,每个女人花2元,每个小孩花1元;   问男人、女人和小孩各有几人?
作者: 往事如风555    时间: 2015-11-4 14:13
楼主,你确定这个题有解吗?
作者: 耀阳圣尊    时间: 2015-11-4 14:38
  1.                  public static void main(String[] args){
  2.                          int man=0;//男数
  3.                          int woman=0;//女数
  4.                          int child=0;//孩子数
  5.                          for(man=0;man<=30 ;man++){
  6.                          for(woman=0;woman<=30;woman++){
  7.                          child=30-man-woman;//一共30人
  8.                          if(man*3+woman*2+child==50){//一共花了50
  9.                          System.out.println("男人:"+man+" "+"女人:"+woman+" "+"孩子:"+child);
  10.                          continue;//可能有多种情况 也可不写
  11.                          }
  12.                          }
  13.                          }
复制代码


作者: rookiefly    时间: 2015-11-4 14:55
男人:0  女人: 20  小孩: 10
男人:1  女人: 18  小孩: 11
男人:2  女人: 16  小孩: 12
男人:3  女人: 14  小孩: 13
男人:4  女人: 12  小孩: 14
男人:5  女人: 10  小孩: 15
男人:6  女人: 8  小孩: 16
男人:7  女人: 6  小孩: 17
男人:8  女人: 4  小孩: 18
男人:9  女人: 2  小孩: 19
男人:10  女人: 0  小孩: 20
请按任意键继续. . .

作者: haocds3015    时间: 2015-11-7 20:29
往事如风555 发表于 2015-11-4 14:13
楼主,你确定这个题有解吗?

真的有解
只不过答案不是一个
作者: haocds3015    时间: 2015-11-7 20:41
耀阳圣尊 发表于 2015-11-4 14:38

谢谢大神的回复的,多少还有点问题,保证男人,女人,孩子最少都有一个
作者: haocds3015    时间: 2015-11-7 20:43
rookiefly 发表于 2015-11-4 14:55
男人:0  女人: 20  小孩: 10
男人:1  女人: 18  小孩: 11
男人:2  女人: 16  小孩: 12

我刚才也学着大神们也做了一个答案
不知道对不对
男人:1 女人:19 孩子:9
男人:1 女人:20 孩子:7
男人:1 女人:21 孩子:5
男人:1 女人:22 孩子:3
男人:1 女人:23 孩子:1
男人:2 女人:17 孩子:10
男人:2 女人:18 孩子:8
男人:2 女人:19 孩子:6
男人:2 女人:20 孩子:4
男人:2 女人:21 孩子:2
男人:3 女人:15 孩子:11
男人:3 女人:16 孩子:9
男人:3 女人:17 孩子:7
男人:3 女人:18 孩子:5
男人:3 女人:19 孩子:3
男人:3 女人:20 孩子:1
男人:4 女人:13 孩子:12
男人:4 女人:14 孩子:10
男人:4 女人:15 孩子:8
男人:4 女人:16 孩子:6
男人:4 女人:17 孩子:4
男人:4 女人:18 孩子:2
男人:5 女人:11 孩子:13
男人:5 女人:12 孩子:11
男人:5 女人:13 孩子:9
男人:5 女人:14 孩子:7
男人:5 女人:15 孩子:5
男人:5 女人:16 孩子:3
男人:5 女人:17 孩子:1
男人:6 女人:9 孩子:14
男人:6 女人:10 孩子:12
男人:6 女人:11 孩子:10
男人:6 女人:12 孩子:8
男人:6 女人:13 孩子:6
男人:6 女人:14 孩子:4
男人:6 女人:15 孩子:2
男人:7 女人:7 孩子:15
男人:7 女人:8 孩子:13
男人:7 女人:9 孩子:11
男人:7 女人:10 孩子:9
男人:7 女人:11 孩子:7
男人:7 女人:12 孩子:5
男人:7 女人:13 孩子:3
男人:7 女人:14 孩子:1
男人:8 女人:5 孩子:16
男人:8 女人:6 孩子:14
男人:8 女人:7 孩子:12
男人:8 女人:8 孩子:10
男人:8 女人:9 孩子:8
男人:8 女人:10 孩子:6
男人:8 女人:11 孩子:4
男人:8 女人:12 孩子:2
男人:9 女人:3 孩子:17
男人:9 女人:4 孩子:15
男人:9 女人:5 孩子:13
男人:9 女人:6 孩子:11
男人:9 女人:7 孩子:9
男人:9 女人:8 孩子:7
男人:9 女人:9 孩子:5
男人:9 女人:10 孩子:3
男人:9 女人:11 孩子:1
男人:10 女人:1 孩子:18
男人:10 女人:2 孩子:16
男人:10 女人:3 孩子:14
男人:10 女人:4 孩子:12
男人:10 女人:5 孩子:10
男人:10 女人:6 孩子:8
男人:10 女人:7 孩子:6
男人:10 女人:8 孩子:4
男人:10 女人:9 孩子:2
男人:11 女人:1 孩子:15
男人:11 女人:2 孩子:13
男人:11 女人:3 孩子:11
男人:11 女人:4 孩子:9
男人:11 女人:5 孩子:7
男人:11 女人:6 孩子:5
男人:11 女人:7 孩子:3
男人:11 女人:8 孩子:1
男人:12 女人:1 孩子:12
男人:12 女人:2 孩子:10
男人:12 女人:3 孩子:8
男人:12 女人:4 孩子:6
男人:12 女人:5 孩子:4
男人:12 女人:6 孩子:2
男人:13 女人:1 孩子:9
男人:13 女人:2 孩子:7
男人:13 女人:3 孩子:5
男人:13 女人:4 孩子:3
男人:13 女人:5 孩子:1
男人:14 女人:1 孩子:6
男人:14 女人:2 孩子:4
男人:14 女人:3 孩子:2
男人:15 女人:1 孩子:3
男人:15 女人:2 孩子:1
作者: shiawase    时间: 2015-11-7 21:56
加油!加油!加油!加油!加油!加油!加油!
作者: rookiefly    时间: 2015-11-7 23:28
haocds3015 发表于 2015-11-7 20:43
我刚才也学着大神们也做了一个答案
不知道对不对
男人:1 女人:19 孩子:9

大哥,一共30个人啊,
作者: 李志慧    时间: 2015-11-7 23:47
public static void main(String[] args) {
                int man = 0;// 男数
                int woman = 0;// 女数
                int child = 0;// 孩子数
                int count = 0;// 方案次数
                for (man = 0; man <= 30; man++) {
                        for (woman = 0; woman <= 30; woman++) {
                                child = 30 - man - woman;// 一共30人
                                if (man * 3 + woman * 2 + child == 50) {// 一共花了50
                                        count++;
                                        System.out.println("男人:" + man + " " + "女人:" + woman + " "
                                                        + "孩子:" + child);
                                        continue;// 可能有多种情况 也可不写
                                }
                        }
                }
                System.out.println("共有"+count+"种可能。");
        }
作者: 李志慧    时间: 2015-11-7 23:57
public static void main(String[] args) {
                int man = 1;// 男数
                int woman = 1;// 女数
                int child = 1;// 孩子数
                int count = 0;// 方案次数
                for (man = 1; man <= 30; man++) {
                        for (woman = 1; woman <= 30; woman++) {
                                child = 30 - man - woman;// 一共30人
                                if (man * 3 + woman * 2 + child == 50) {// 一共花了50
                                        count++;
                                        System.out.println("男人:" + man + " " + "女人:" + woman + " "
                                                        + "孩子:" + child);
                                        continue;// 可能有多种情况 也可不写
                                }
                        }
                }
                System.out.println("共有"+count+"种可能。");
        }


这是男人女人小孩都不为0的情况!
作者: 请指教    时间: 2015-11-8 16:16
public class lianxi {

        public static void main(String[] args) {
       
       
        //记录情况数
        int cout=0;
       
       
        for(int man=0;man<=50/3;man++)
        {
                for(int woman=0;woman<=50/2;woman++)
                {
                                int child=30-man-woman;
                                int money=0;
                                money=3*man+2*woman+child;
                                if(money==50)
                                {
                                        cout++;
                                        System.out.println("("+cout+")"+"\t男人:"+man+"\t女人:"+woman+ "\t小孩: "+child );
                                }
                }
        }
        System.out.println("\r\t共"+cout+"种情况.");
        }

}
结果为:

(1)        男人:0        女人:20        小孩: 10
(2)        男人:1        女人:18        小孩: 11
(3)        男人:2        女人:16        小孩: 12
(4)        男人:3        女人:14        小孩: 13
(5)        男人:4        女人:12        小孩: 14
(6)        男人:5        女人:10        小孩: 15
(7)        男人:6        女人:8        小孩: 16
(8)        男人:7        女人:6        小孩: 17
(9)        男人:8        女人:4        小孩: 18
(10)        男人:9        女人:2        小孩: 19
(11)        男人:10        女人:0        小孩: 20

        共11种情况.





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2