CSU 1021 从m个不同元素中取出n (n ≤ m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。组合数的计算公式如下: C(m, n) = m!/((m - n)!n!) 现在请问,如果将组合数C(m, n)写成二进制数,请问转这个二进制数末尾有多少个零。
2015-07-16 20:48
519 查看
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/B
解题思路:这个题目就是求因子的个数, m!/((m-n)!*n!)等于m到n的阶乘除以m-n的阶乘,即求m到n中因子的个数减去m-n到1的因子的个数即可
程序代码:
解题思路:这个题目就是求因子的个数, m!/((m-n)!*n!)等于m到n的阶乘除以m-n的阶乘,即求m到n中因子的个数减去m-n到1的因子的个数即可
程序代码:
#include <iostream> using namespace std; int t,m,n,i; int main() { cin>>t; while(t--) { cin>>m>>n; int r=0,w=0; for( i=m-n+1;i<=m;i++) { int s=i; while(s>1) { if(s%2!=0||s==0) break; r++; s/=2; } } for(i=2;i<=n;i++) { int s=i; while(s>1) { if(s%2!=0||s==0) break; w++; s/=2; } } cout<<r-w<<endl; } return 0; }
相关文章推荐
- Android修改桌面快捷方式的图片和名称
- Nginx 引入线程池,提升 9 倍性能
- Linux中fork函数详解
- 设计模式【适配器型号】
- [异能程序员]第六章 遛狗(第二更)
- for循环语句全示例
- 测试用例的编写
- UI2_UICollectionViewPicture
- 内部和外部排序排序
- 转MySQL常见错误分析与解决方法总结
- android如何提供SDK给别人使用
- getgroups()函数:获取组代码函数
- iOS前期OC训练OC_01类和对象
- R -- 2. 简单函数Overview
- iOS AvPlayer AvAudioPlayer音频的后台播放问题
- 设计模式之桥接模式
- 每天一个小知识点4(原型与构造函数总结二)
- 在 mediawiki 实现导出 中文pdf
- 生成jar文件及引用
- 从Angular转向React