急!在线等编程答案

ProblemDescription把数字4拆分成若干个整数,有多少种分法呢(1、3和3、1是同一种分法)?例:4可以拆分成:1、1、1、12、1、12、23、1共4种拆... Problem Description
把数字4拆分成若干个整数,有多少种分法呢(1、3和3、1是同一种分法)?
例:
4可以拆分成:1 、1、1、1
2、1、1
2、2
3、1
共4种拆法。

Input
第一行输入为一个正整数T,为测试数据的个数(1〈T〈100)。
每组测试数据为一个正整数M(10〈M〈50)。

Output
对于每个测试数据,分别输出其拆法数。
Sample Input
4
1
2
49
4

Sample Output
0
1
173524
4
展开
 我来答
百度网友47691c632
2009-03-22 · TA获得超过1436个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:580万
展开全部
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

int count(int n, int a)
{
if(n/2 < a)
{
return 0;
}
int val = 1;
int j = (n - a)/2;
for(int i = a; i <= j; i++)
{
val += count(n-a, i);
}
return val;
}
int count(int n)
{
int val = 0;
int j = n/2;
for(int i = 1; i <= j; i++)
{
val += count(n, i);
}
return val;
}

int main(void)
{
int times;
cin >> times;
int *a = (int *)malloc(times * sizeof(int));
for(int i = 0; i < times; i++)
{
cin >> a[i];
}
for(int i = 0; i < times; i++)
{
cout << count(a[i]) << endl;
}
return 1;

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式