n的阶乘

public int factorial(int n){
     if(n==0){
          return 1;
     }else{
          return n*factorial(n-1);
     }
}

x的非负整数n次幂

public int power(int x,int n){
    if(n==0){
         return 1;
    }else{
         int y=power(x,n/2);
         y=y*y;
         if(n%2==1){
             y=y*x;
         }
         return y;
    }
}

排列的生成

public void perm(char[] array,int k){
     if(array==null||array.length==0){
          return;
     }
     if(k==array.length){
          System.out.println(Arrays.toString(array));
     }else{
          for(int i=k;i<array.length;i++){
              swap(array,k,i);
              perm(array,i+1);
              swap(array,k,i);
          }
     }
}

public void swap(int[] array,int m,int n){
     int temp=array[m];
     array[m]=array[n];
     array[n]=temp;
}

正整数划分

public int q(int n,int m){
    if(n<1||m<1){
        return 0;
    }else if(n==1||m==1){
        return 1;
    }else if(n<m){
        return q(n,n);
    }else if(n==m){
        return q(n,n-1)+1;
    }else{
        return q(n,m-1)+q(n-m,m);
    }
}

 

 posted on 2019-04-06 14:19  会飞的金鱼  阅读(109)  评论(0)    收藏  举报