Dev|il 发表于 2013-2-7 00:05:02

HOJ1028

这是一个关于母函数的题目,感谢冬教我母函数,关于母函数介绍的文章:
http://www.wutianqi.com/?p=596
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1028
代码:
#include <stdio.h>#include <string.h>int c1, c2;int main(){int i, j, k;int n;while(scanf("%d", &n) != EOF){//memset(c1, 1, (n + 1) * sizeof(int));//memset(c2, 0, (n + 1) * sizeof(int));//不能用memset这个函数是按字节赋值的,当给整型数组用这种方式清1的话, 不可行for(i = 0; i <= n; i++){c1 = 1;c2 = 0;//printf("c1[%d]=%dc2[%d] = %d\n", i, c1, i, c2);}//代表表达式数量 ,例如输入2//(1 + x + x ^ 2) * (1 + x ^ 2) i代表表达式数量for(i = 2; i <= n; i++){//这里代表两个表达式相乘,j表示项数第一个表达式的第i个数,k算指数,好相对应的对系数数组赋值for(j = 0; j <= n; j++){for(k = 0; k + j <= n; k += i){c2 += c1;}}//保存两个表达式相乘后变为一个表达式的系数,让c2清0for(j = 0; j <=n; j++){c1 = c2;c2 = 0;}}printf("%d\n", c1);}return 0;}
页: [1]
查看完整版本: HOJ1028