博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ(HDU) 2519 新生晚会(组合公式)
阅读量:7067 次
发布时间:2019-06-28

本文共 1129 字,大约阅读时间需要 3 分钟。

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;    }}

转载地址:http://xaall.baihongyu.com/

你可能感兴趣的文章
JNI开发极简教程
查看>>
Bugku -代码审计(urldecode二次编码绕过)
查看>>
Auto Layout 使用心得(五)—— 根据文字、图片自动计算 UITableViewCell 高度
查看>>
Linux命令参数详细解析-cp
查看>>
2018云栖大会分享(多图)
查看>>
python爬取糗事百科
查看>>
Java 创建文件
查看>>
Effective Java笔记(不含反序列化、并发、注解和枚举)
查看>>
Apache Tomcat 9.0.19 发布,开源 Web 应用服务器
查看>>
Fedora 31 将更新开源 .Net 框架,支持 Mono 5
查看>>
dubbo之基础应用
查看>>
javax.persistence.RollbackException: Transaction marked as rollbackOnly Ask
查看>>
基于友盟的第三方登录
查看>>
工程师男友如何反窃听?趣聊密码学入门科普
查看>>
Memcached服务级调优
查看>>
TensorFlow中那些鲜为人知却又极其实用的知识
查看>>
12306 售票网站新版验证码识别对抗
查看>>
Maven三种仓库详解
查看>>
使用 json-server 简单完成CRUD模拟后台数据
查看>>
在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
查看>>