题:一共有30个人,可能包括男人,女人和小孩,他们在一家饭馆吃饭共花了50先令,其中男人花3先令,每个女人花2先令,每个小孩花1先令,请问男人,女人,和小孩各几人?

解决方案 »

  1.   

    列个方程不就知道了
    x+y+z=30;
    3x+2y+z=50;
    x<=10; y<=20&&y%2==0;z<=20;
    y=20-2x;
    z=10+x;
    一个for循环就可以搞定
    答案是x从0到10都可以
      

  2.   

    只要理清思路,我相信你一定可以做出来的,come on!!
      

  3.   

    package com.c813;public class Test {
    public static void main(String[] args) {
    for (int i = 0; i < 17; i++) {
    for (int j = 0; j < 16; j++) {
    for (int k = 0; k < 51; k++) {
    if (i*3 + j*2 + k == 50) {
    System.out.println("男人:" + i + "  " + "女人:" + j + "  " + "小孩:" + k);
    }
    }
    }

    }
    }
    好像结果很多啊
      

  4.   

    写错了这个才对吧package com.c813;public class Test {
    public static void main(String[] args) {
    for (int i = 0; i < 17; i++) {
    for (int j = 0; j < 16; j++) {
    if (i*3 + j*2 + 30 - i - j == 50) {
    System.out.println("男人:" + i + "  " + "女人:" + j + "  " + "小孩:" + (30 - i - j));
    }
    }

    }
    }
      

  5.   

    public class PersonCount { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO 自动生成方法存根
       final int manMaxNum = 50/3;
       final int womanMaxNum = 50/2;
       final int childrenMaxNum = 50/1;
       for(int i = 1;i<=manMaxNum;i++){
         for (int j = 1; j <= womanMaxNum; j++) {
    for (int k = 1; k <= childrenMaxNum; k++) {
       if(i+j+k == 30&&i*3+j*2+k*1 == 50){
          System.out.println("男人:"+i+";女人:"+j+";小孩:"+k);
    }

    }

    }
       }
    }
    }