描述
输入
标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。
输出
对于每组测试数据,输出N的划分数。
样例输入
样例输出
将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。
正整数n 的这种表示称为正整数n 的划分。正整数n 的不同的划分个数称为正整数n 的划分数。
5
7
#include <iostream>核心思想是分为叉状树 using namespace std; int sum; void devide(int x,int y)进行整数划分 { int i; sum++; for(i=x-1;i>=x-i;i--)防止重复 { if(x-i>=y) { devide(i,x-i);递归调用 } } } int main() { int n; while(cin>>n) { sum=0; devide(n,0); cout<<sum<<endl; } return 0; }