• POJ 2249-Binomial Showdown(排列组合计数)


    Binomial Showdown
    Time Limit: 1000MS   Memory Limit: 65536K
    Total Submissions: 18457   Accepted: 5633

    Description

    In how many ways can you choose k elements out of n elements, not taking order into account? 
    Write a program to compute this number.

    Input

    The input will contain one or more test cases. 
    Each test case consists of one line containing two integers n (n>=1) and k (0<=k<=n). 
    Input is terminated by two zeroes for n and k.

    Output

    For each test case, print one line containing the required number. This number will always fit into an integer, i.e. it will be less than 231
    Warning: Don't underestimate the problem. The result will fit into an integer - but if all intermediate results arising during the computation will also fit into an integer depends on your algorithm. The test cases will go to the limit. 

    Sample Input

    4 2
    10 5
    49 6
    0 0
    

    Sample Output

    6
    252
    13983816

    题意:求C(n,m);

    思路:这个是当中一种办法。就是连乘r个整商:C(n,k)=C(n,k-1)*(n-k+1)/k。时间复杂度O(n);

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    #include <algorithm>
    #include <set>
    #include <queue>
    #include <stack>
    #include <map>
    using namespace std;
    typedef long long LL;
    LL work(LL n,LL m)
    {
        if(m>n/2) m=n-m;
        LL a=1,b=1;
        for(int i=1;i<=m;i++){
            a*=n-i+1;
            b*=i;
            if(a%b==0){
                a/=b;
                b=1;
            }
        }
        return a/b;
    }
    int main()
    {
        LL n,m;
        while(~scanf("%lld %lld",&n,&m)){
            if(!n&&!m) break;
            printf("%lld
    ",work(n,m));
        }
        return 0;
    }
    



  • 相关阅读:
    C#中添加文本框的上标及文字大小
    综采工作面设备接替计划管理系统
    一位年轻女董事长的27条忠告
    开发人员一定要加入收藏夹的网站
    哈佛图书馆墙上的名训
    加密、解密.NET字符串
    C#文件上传下载
    DotNetNuke3.0.8 简体中文语言包(可直接导入版)发布
    DNN的Core Team
    DotNetNuke3.0.8文件管理器的错误及解决方法
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6846516.html
Copyright © 2020-2023  润新知