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
浙公网安备 33010602011771号