poj 2249 Binomial Showdown[C(n, m)组合数求解]
来源:互联网 发布:ida远程调试linux 编辑:程序博客网 时间:2024/05/21 12:50
题目链接:http://poj.org/problem?id=2249
题目的意思就是求个C(n, m)组合数。
数据保证结果不超过2^31。。但是,中间过程中的数据可能超过long long。
这里用到了一个技巧。。边乘边除。。。可以避免中间的数据超过long long。。
还有就是用到组合公式中的一个常用公式。。C(n, m) = C(n, n - m)。。。可以避免超时。。
表示学习了。。ORZ。。。
Code:
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>using namespace std;#define INT unsigned long longINT C(INT n, INT m){ INT ans = 1; for(INT i = n; i >= n - m + 1; i --){ ans = ans * i; ans = ans / (n - i + 1); } return ans;}int main(){ INT n, m; while(cin >> n >> m&& (n || m)){ cout << C(n, min(m, n - m)) << endl; } return 0;}
------>
水水的组合求C(n, m)。。吊吊吊。。学习!!
0 0
- poj 2249 Binomial Showdown[C(n, m)组合数求解]
- POJ 2249 Binomial Showdown 求组合数C(n,k)
- POJ 2249 Binomial Showdown(组合数)
- POJ 2249 Binomial Showdown (连乘整商求组合数)
- poj 2249 Binomial Showdown(组合数 公式优化)
- Poj.2249 Binomial Showdown【组合数】 2015/09/23
- poj 2249 Binomial showdown
- poj 2249Binomial Showdown
- Poj 2249 Binomial Showdown
- poj 2249 Binomial Showdown
- poj 2249 Binomial Showdown
- 变态组合数C(n,m)求解
- POJ 2249 Binomial Showdown 笔记
- 简单计算求组合数 Binomial Showdown
- poj2249 Binomial Showdown 求组合数
- POJ 题目2249 Binomial Showdown(数学)
- POJ 2249-Binomial Showdown(排列组合计数)
- POJ 2249 Binomial Showdown(排列组合)
- 逆元模板总结
- AFnetworking2.0翻译
- 《新闻》之笔记六
- Java Collections与Collection
- SQL 操作结果集 -并集、差集、交集、结果集排序
- poj 2249 Binomial Showdown[C(n, m)组合数求解]
- tomcat上传中文图片,修改端口号
- 基于Matlab的一阶RC滤波器仿真
- 黑马程序猿_OC之类与对象
- 七大主流抗锯齿浅析
- hdu 1796 How many integers can you find(容斥原理)
- 4W2H快速学习方法
- Java笔记——1
- 学习笔记&&心情小记--网络互连