第一题:
              列:2/1,3/2,5/3,8/4,13/5,21/6........到数列的前20项之和。
第二题:      字符数组:String []str={a,b,c};
 要求输出:a,b,c,ab,ac,ba,bc,ca,cb,abc,acb,bac,bca,cab,cba

解决方案 »

  1.   

    第一题:分子是斐波那契数列,可以这样试试:public class TestTemp {

    public static void main(String[] args) {
    double[] f = new double[20];
    f[0] = 2;
    f[1] = 3;
    double sum = 2/1 + 3.0/2;
    for(int i=2; i<20; i++) {
    f[i] = f[i-1]+f[i-2];
    sum += ((double)f[i]/(i+1));
    } System.out.println(sum);
    }
    }
      

  2.   

    第一题http://topic.csdn.net/u/20110530/15/7648f8f0-e2e2-4a5b-a35d-8a1bbb43ac09.html
      

  3.   

    第2题,写了个组合的方法,LZ自己再写个字符串全排列输出就可以了:public static void main(String[] args) {
    String[] ssss = {"a","b","c","d","e"};
    mm1(ssss);
    }public static void mm1(String[] str) {
    for(int i = 1; i<=str.length;i++) {
    mm2(str,i,"");
    System.out.println();
    }
    }

    public static void mm2(String[] str,int n,String st) {
    if(str.length<n) {
    return;
    }
    else if(n==1) {
    String[] strr = new String[str.length];
    for(int i = 0; i<str.length;i++) {
    strr[i] = st+str[i];
    System.out.print(strr[i]+" ");
    }
    }
    else {
    String st2 = st+str[0];
    String[] str2 = new String[str.length-1];
    for(int i = 1; i <str.length;i++) {
    str2[i-1] = str[i];
    }
    mm2(str2,n-1,st2);
    mm2(str2,n,st);
    }
    }结果a b c d e 
    ab ac ad ae bc bd be cd ce de 
    abc abd abe acd ace ade bcd bce bde cde 
    abcd abce abde acde bcde 
    abcde