void-man

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2011年5月31日

摘要: 给定一个整数n,要找出n能拆分成多少种不同的若干个数的和与乘积的形式。比如: 4=4 12=1*12 4=1+3 12=2*6 4=2+2 12=3*4 4=1+1+2 12=2*2*3 4=1+1+1+1 先看加法形式,可以构造一个母函数F(x)=(1+x+x^2+...+x^n)(1+x^2+x^4+...+x^n)...(1+x^n),将这个母函数展开后,求出每一个x^k前面的系数Ck,就是对应的整数K有多少种拆分的形式。#include <iostream> using namespace std; const int MAXN = 120; int c1[MAXN+1], 阅读全文
posted @ 2011-05-31 23:56 void-man 阅读(1849) 评论(1) 推荐(0)