#include<iostream>
using namespace std;
//对整数n进行划分,最大加数不超过m的划分数
int f(int n,int m)
{
if(m==1) return 1; //最大加数不超过1的划分数只有一种,就是全为1
if(n<m) return f(n,n);
if(n==m) return 1+f(n,m-1);
if(n>m) return f(n-m,m)+f(n,m-1);
}
int main()
{
int n;
while(cin>>n)
cout<<f(n,n)<<endl;
return 0;
}
百练4117 整数划分
最新推荐文章于 2020-11-12 10:29:21 发布