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;
    }
}
时间: 2024-10-12 21:33:18

HDOJ(HDU) 2519 新生晚会(组合公式)的相关文章

WPS Office 2012组合公式帮你提高工作效率

WPS表格可以进行数据计算.分析和整理,当使用一些比较复杂的公式的时候,以前许多人都会找现成的公式来使用,甚至做成模板反复使用.比如,计算个人所得税和从身份证中提取性别.出生日期信息,是固定的公式,就会从网上下载他人的文件,复制出较长的公式到自己的表格中使用. WPS的"组合公式"功能就替大家想到了解决的办法,把这些常用的公式集成在WPS表格软件中,用户可以直接调用公式进行计算,而不必再去"苦苦"查询"记忆中的公式",大大提高了工作效率. 今年九

WPS表格教程:WPS 2012组合公式一键帮你算个税

WPS表格可以进行数据计算.分析和整理,当使用一些比较复杂的公式的时候,以前许多人都会找现成的公式来使用,甚至做成模板反复使用.比如,计算个人所得税和从身份证中提取性别.出生日期信息,是固定的公式,就会从网上下载他人的文件,复制出较长的公式到自己的表格中使用. WPS的"组合公式"功能就替大家想到了解决的办法,把这些常用的公式集成在WPS表格软件中,用户可以直接调用公式进行计算,而不必再去"苦苦"查询"记忆中的公式",大大提高了工作效率. 今年九

WPS 2012组合公式一键帮你算个税

WPS表格可以进行数据计算.分析和整理,当使用一些比较复杂的公式的时候,以前许多人都会找现成的公式来使用,甚至做成模板反复使用.比如,计算个人所得税和从身份证中提取性别.出生日期信息,是固定的公式,就会从网上下载他人的文件,复制出较长的公式到自己的表格中使用. WPS的"组合公式"功能替大家想到了解决的办法,把这些常用的公式集成在WPS表格软件中,用户可以直接调用公式进行计算,而不必再去"苦苦"查询"记忆中的公式",大大提高了工作效率. 去年九月

WPS 2012表格组合公式一键帮你算个税

  WPS表格可以进行数据计算.分析和整理,当使用一些比较复杂的公式的时候,以前许多人都会找现成的公式来使用,甚至做成模板反复使用.比如,计算个人所得税和从身份证中提取性别.出生日期信息,是固定的公式,就会从网上下载他人的文件,复制出较长的公式到自己的表格中使用. WPS的"组合公式"功能就替大家想到了解决的办法,把这些常用的公式集成在WPS表格软件中,用户可以直接调用公式进行计算,而不必再去"苦苦"查询"记忆中的公式",大大提高了工作效率. 今

HDOJ/HDU 2566 统计硬币(公式~遍历~)

Problem Description 假设一堆由1分.2分.5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0). Input 输入数据第一行有一个正整数T,表示有T组测试数据: 接下来的T行,每行有两个数n,m,n和m的含义同上. Output 对于每组测试数据,请输出可能的组合方式数: 每组输出占一行. Sample Input 2 3 5 4 8 Sample Output 1 2 这个问题和鸡兔同笼有点类似~ 根据条件,可以列出3个未知数,和2

HDOJ(HDU) 2524 矩形A + B(推导公式、)

Problem Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100). Output 每行输出网格中有多少个矩形. Sample Input 2 1 2 2 4 Sample Output 3 30 此方格其实就是求其中所有格子数,如果按宽度来算的话,1,2,3,-m,种情况,对每一种情况,有(1+2

HDOJ(HDU) 2061 Treasure the new start, freshmen!(水题、)

Problem Description background: A new semester comes , and the HDU also meets its 50th birthday. No matter what's your major, the only thing I want to tell you is:"Treasure the college life and seize the time." Most people thought that the colle

HDOJ(HDU) 1465 不容易系列之一(错排)

Problem Description 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了! 做好"一件"事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一样. 话虽这样说,我还是要告诉大家,要想失败到一定程度也是不容易的.比如,我高中的时候,就有一个神奇的女生,在英语考试的时候,竟然把40个单项选择题全部做错了!大家都学过概率论,应该知道出现这种情况的概率,所以至今我都觉得这是一件神奇的事情.如果套用一句经典的评语,我们可以这样总结

HDOJ/HDU 1161 Eddy&amp;#39;s mistakes(大写字母转换成小写字母)

Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for example "computer science" is written frequently "coMpUtEr scIeNce" by him, this mistakes lets Eddy's English teacher be extremely disco