本文共 525 字,大约阅读时间需要 1 分钟。
// n 个 数 取 k个数的取法 // C(n,k) 注意些细节 #include #include #include #include #include #include #include #include using namespace std;#define LL long longLL C(int n,int k){ LL m=1; if(k>n/2) k=n-k; // 不加这句会超时 比如C[10^9][10^9 - 1] int i; for(i=1;i<=k;i++) { m*=(n-i+1); m/=i; } return m;}int main(){ int n,k; while(scanf("%d %d",&n,&k),n|k) { printf("%lld\n",C(n,k)); } return 0;}
转载于:https://www.cnblogs.com/372465774y/p/3603190.html