李白无事街上走,提壶去买酒,遇店加一倍,见花喝一半,五遇花和店,喝光壶中酒,问李白原有多少酒??

解决方案 »

  1.   

    http://www.tctl.com.cn/ask/html/200911/q424663.html
      

  2.   


    public class Test {

    public static void main(String[] args) {
    int size = (int)Math.pow(2, 5);
    double[] wine = new double[size];
    String[] place = new String[size];

    for (int i = 0; i < size; i++) {
    place[i] = Integer.toBinaryString(i);
    wine[i] = 0;
    for (int j = 0; j < place[i].length(); j++) {
    if (place[i].charAt(j) == '0') {
    wine[i] /= 2;
    } else {
    wine[i] += 1;
    }
    }
    System.out.printf("%-10f:%s\n", wine[i], changeStr(place[i]));
    }
    }

    public static String changeStr(String place) {
    StringBuffer strBuf = new StringBuffer();
    for (int i = place.length() - 1; i >= 0; i--) {
    if (place.charAt(i) == '0') {
    strBuf.append("店");
    } else {
    strBuf.append("花");
    }
    }
    for (int i = 0; i < 5 - place.length(); i++)
    strBuf.append("店");
    return strBuf.toString();
    }
    }