问题描述:6可以分解为
6
5+1
4+2,4+1+1
3+3,3+2+1,3+1+1+1
2+2+2,2+2+1+1,2+1+1+1+1
1+1+1+1+1+1
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("请输入你要划分的整数n=");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sn = _mysplit(n,n);
System.out.println("整数"+n+"划分的结果为:"+sn);
}
static int _mysplit(int n,int m){
if(n==m) return _mysplit(n,n-1)+1;//自己本身这一次
else if(n==1||m==1) return 1;//全是1的那一次
else if(n<m) return _mysplit(n,n);//情况基本不存在
else return _mysplit(n,m-1)+_mysplit(n-m,m);//最后的情况将他们进行拆分
}