输入:输入整数划分的整数(只输入一次,即n==m)。
输出:输入整数的划分个数值。
示例:输入:7,输出:15
q(n,m)的如下递归关系定义如下:
正整数n的划分数p(n)=q(n,n)。
完整代码:
import java.util.Scanner;
public class IntegerPartition
{
public static void main(String args[]){
try
{
Scanner scanner=new Scanner(System.in);
System.out.println("输入正整数:");
int n=scanner.nextInt();
System.out.println(getInteger(n,n));
}
catch (Exception e)
{
}
}
public static int getInteger(int n,int m){
if (n<1||m<1)
{
return 0;
}
if (n==1||m==1)
{
return 1;
}
if (n<m)
{
return getInteger(n,n);
}
if (n==m)
{
return getInteger(n,m-1)+1;
}
return getInteger(n,m-1)+getInteger(n-m,m);
}
}
运行结果:
赞赞赞: