问题描述
一个正整数可以划分为多个正整数的和,比如n=3时:
3;1+2;1+1+1;
共有三种划分方法。
给出一个正整数,问有多少种划分方法。
输入格式
一个正整数n
输出格式
一个正整数,表示划分方案数
样例输入
3
样例输出
3
数据规模和约定
n<=100
import java.util.Scanner;
/**
* 数的划分
* @author yurong
*
*/
public class ShuDeHuaFen {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner console = new Scanner(System.in);
int n = console.nextInt();
System.out.println(f(n,n));
}
public static int f(int n,int m){
if(m==1){
return 1;
}
if(n==1){
return 1;
}
if(n<m){
return f(n,n);
}
if(n==m)
return f(n,n-1);
else
return f(n-m,m)+f(n,m-1);
}
}