HDOJ(HDU) 2519 新生晚会(组合公式)

简介: HDOJ(HDU) 2519 新生晚会(组合公式)

Problem Description

开学了,杭电又迎来了好多新生。ACMer想为新生准备一个节目。来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法?


Input

数据的第一行包括一个正整数T,接下来有T组数据,每组数据占一行。

每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)


Output

每组数据输出一个整数,每个输出占一行


Sample Input

5

3 2

5 3

4 4

3 6

8 0


Sample Output

3

10

1

0

1


就是组合公式的应用!

c(n,m) = n!/(n-m)!/m!;


注意!此题用long可能会过不了、

不过如果你在算乘的时候去除的话,应该是可以过的。

我在这里是用double过的。

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();
            double num = group(n,m);
            System.out.printf("%.0f",num);
            System.out.println();
        }
    }
    private static double group(int n, int m) {
        if(m>n){
            return 0;
        }
        if(m==0){
            return 1;
        }
        int h=n-m;
        if(n-m>m){
            h=m;
            m=n-m;
        }
        double s=1;
        for(int i=n;i>=m+1;i--){
            s*=i;
        }
        double k=1;
        for(int i=1;i<=h;i++){
            k*=i;
        }
        return s/k;
    }
}
目录
相关文章
ACM刷题之路(二十)线筛素数+找规律f(n) 2019暑期集训 HDU 2585
ACM刷题之路(二十)线筛素数+找规律f(n) 2019暑期集训 HDU 2585
|
8月前
蓝桥备战--纪念品分组OJ532,贪心证明
蓝桥备战--纪念品分组OJ532,贪心证明
33 0
|
8月前
蓝桥备战--分糖果OJ2928 贪心 分类讨论
蓝桥备战--分糖果OJ2928 贪心 分类讨论
81 0
|
算法
山东第一届省赛 Greatest Number(优雅暴力+二分)
山东第一届省赛 Greatest Number(优雅暴力+二分)
84 1
|
测试技术 C语言 C++
PTA团体程序设计天梯赛-练习集:L1-003 个位数统计
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。 输入格式: 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。 输出格式: 对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
230 0
|
机器学习/深度学习 人工智能
PTA 7-3 拼题 A 是真爱 (20 分)
如果一个人在一段话里很多次提到 pintia,那对拼题 A 就是真爱啦~ 本题就请你检查一下给定的文字中出现了几次 pintia。
162 0
|
机器学习/深度学习
HDOJ(HDU) 2201 熊猫阿波的故事(概率问题)
HDOJ(HDU) 2201 熊猫阿波的故事(概率问题)
102 0
|
机器学习/深度学习
HDOJ/HDU 2547 无剑无我(两点间的距离)
HDOJ/HDU 2547 无剑无我(两点间的距离)
101 0
|
算法 开发者
算法笔试模拟题精解之“正三角塔”
这是一个数学问题,将三角塔多写出几层后就可以发现规律。
算法笔试模拟题精解之“正三角塔”