版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QingCoffe/article/details/84103143
说实话第一反应是dp,但是看了网上的所有人的解法几乎一致为母函数,好吧从没接触过这个东西
看了母函数的解法....ummm鬼才吧.......说不清道不明,客官自己悟吧
本题已AC
# include<iostream>
using namespace std;
int a[130];//暂定大小
int b[130];
int main(void) {
int N;
int i, j, k;
while (cin >> N) {
for (i = 0; i <= N; i++) {
a[i] = 1;
b[i] = 0;
}//初始化第一个表达式的每一个系数
for (i = 2; i <= N; ++i) {//第 i 个表达式
for (j = 0; j <= N; j++) {// 运算后的每一项
for (k = 0; k <= N; k += i) {// 第 i 的每一项
if (j + k > N)
break;
b[j + k] = b[j + k] + a[j];//a[j]*1 应该是 j 和系数和 k 的系数相乘
}
}
for (k= 0; k <= N; k++) {
a[k] = b[k];
b[k] = 0;
}
}
cout << a[N] << endl;
}
system("pause");
return 0;
}