码迷,mamicode.com
首页 > 其他好文 > 详细

计算系数

时间:2016-01-06 23:15:31      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

给出一个多项式(x+y)^K,询问x^n * y^m的系数

输入两个数n, m。     K为n+m的和。n,m均不超过100

因为系数可能非常大,所以要求输出模10007后的结果

样例输入

1 2

样例输出

3

 

 

一开始傻傻地以为可以用二项式公式,结果直接溢出报错,开longlong也是不行的,然后才知道有杨辉三角与二项式定理的性质,

技术分享
技术分享

技术分享
技术分享
技术分享
技术分享
技术分享技术分享
 
 
杨辉三角曾经打过,所以知道方法:想像杨辉三角左对齐,用二维数组处理,
但是打代码的时候注意数组越界问题,注意各数值的范围,是否有=,是否有+1
 1 #include<stdio.h>
 2 int main() {
 3     int n, m;
 4     long long a[205][205];
 5     a[0][0] = 1;
 6     scanf("%d %d", &n, &m);
 7     int num = n + m, i, j;
 8     for (i = 1; i < num + 1; i++) {  // 观察了杨辉三角后发现这里要+1
 9         for (j = 1; j < i + 1; j++) {  // 想像杨辉三角左对齐,用二维数组处理
10             a[i][0] = 1;
11             a[i][i] = 1;
12             if (i > 1 && j >= 1) {
13                 a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
14             }
15             a[i][j] %= 10007;
16         }
17     }
18     printf("%lld\n", a[m + n][n]);
19     return 0;
20 }

 

技术分享

计算系数

标签:

原文地址:http://www.cnblogs.com/-lyric/p/5107501.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!