/*
91.整数划分 (15分)
C时间限制:2 毫秒 | C内存限制:65535 Kb
对于一个正整数n的划分,就是把n变成一系列正整数之和的表达式。注意,分划与顺序无关,例如6=5+1跟6=1+5是
同一种分划。另外,单独这个整数本身也算一种分划。
例如:对于正整数n=5,可以划分为:
1+1+1+1+1
1+1+1+2
1+1+3
1+2+2
2+3
1+4
5
输入描述
输入一个正整数n
输出描述
输出n整数划分的总数k
输入样例
5
输出样例
7
*/
#include <stdio.h>
#include <iostream>
using namespace std;
int dg(int n,int m)
{
if(m==1||n==m) return 1;
if(n<m) return 0;
if(n>m) return (dg(n-1,m-1)+dg(n-m,m));
}
int main()
{
int n,ans=0;
cin>>n;
for(int i=1;i<=n;i++)
{
ans+=dg(n,i);
}
cout<<ans;
return 0;
}