zoukankan      html  css  js  c++  java
  • hdu 2519 求组合数

    求组合数

    如果求C5 3 就是5*4*3/3*2*1 也就是(5/3)*(4/2)*(3/1)

    Sample Input
    5 //T
    3 2 //C3 2
    5 3
    4 4
    3 6
    8 0

    Sample Output
    3
    10
    1
    0
    1

     1 # include <iostream>
     2 # include <cstdio>
     3 # include <cstring>
     4 # include <algorithm>
     5 # include <cmath>
     6 # define LL long long
     7 using namespace std ;
     8 
     9 double fun(LL n,LL m)//返回类型必须是浮点型,不然会造成误差
    10 {
    11     LL i,j ;
    12     double a=1.0,b=1.0;
    13     double sum = 1.0;
    14     j = m;
    15     while(j--)
    16     {
    17         a=n;
    18         b=m;
    19         sum=sum*a/b; //约分
    20         n--;
    21         m--;
    22     }
    23     return sum;
    24 }
    25 
    26 int main ()
    27 {
    28     //freopen("in.txt","r",stdin) ;
    29     int T ;
    30     scanf("%d" , &T) ;
    31     while(T--)
    32     {
    33         int n , m ;
    34         cin>>n>>m ;
    35         if (n < m)
    36         {
    37             printf("0
    ") ;
    38             continue ;
    39         }
    40         printf("%.0lf
    " , fun(n,m)) ;
    41 
    42 
    43     }
    44 
    45     return 0 ;
    46 }
    View Code
  • 相关阅读:
    C语言的异常处理
    单例类模板
    智能指针模板
    数组类指针
    类模板
    函数模板
    shell 修改工作路径
    把目录C:Python34PCI_Codechapter2加到系统路径中
    twoSum
    归并排序
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/4659800.html
Copyright © 2011-2022 走看看