标签:
今天zz突然想吃水果了,然后他到超市去买水果,现超市有n个不同的水果,zz要买m个水果
(m<=n);那么zz有多少种买水果的方式??
2 4 2 3 3
6 1
思路:之前比赛的时候写的超时是,一次在网上看过组合数,我不知道为什么是这样的,背着吧。。。for循环那个大括号包含while,在外面。昨天提交因为不是这就错了。要用long long ,int 有符号是2的31次方减1,不只是无符号的能不能编译成功,好像__int64不能编译成功在南阳理工oj上
#include<iostream> #include<stdio.h> using namespace std; long long zuheshu(long long n, long long r) { long long i; long long s=1; long long j=1; if(n-r<r) r=n-r; for(i=0;i<r;i++) { s*=(n-i); while(j<=r &&s%j==0</span>) { s=s/j; j++; } } return s; } int main() { int T; long long n,r; cin>>T; while(T--) { scanf("%lld%lld",&n,&r); printf("%lld\n",zuheshu(n,r)); } return 0; }
标签:
原文地址:http://blog.csdn.net/zuguodexiaoguoabc/article/details/44887679