题目链接: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的因子的个数即可
程序代码:
#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; }