HDOJ 2519 新生晚会

来源:互联网 发布:网络知识视频教程 编辑:程序博客网 时间:2024/04/27 15:27

HDACM 2519

组合公式 C(n,m)= A(n,m)/A(m,m) = n*(n-1)(n-m)/1*2*…*m。
注意 ans = ans*(n-i+1)/i 乘完就除 可以保证不超过int范围

import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int t = sc.nextInt();        while(t-->0){            int n = sc.nextInt();            int m = sc.nextInt();            if (m>n) {                System.out.println(0);                continue;            }            if (m==0||m==n) {                System.out.println(1);                continue;            }            m = (n-m)>m?m:(n-m);            int ans = 1;            for (int i = 1; i <= m; i++) {                ans = ans*(n-i+1)/i;            }            System.out.println(ans);        }        sc.close();    }}