当前位置: 首页 > news >正文

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

相关文章:

  • 从JVM角度思考--如何预估线上环境机器资源大小
  • 1到3年的Java开发工程师应该如何准备面试
  • 写了两年代码之后再来看看Spring中的Bean
  • 【Python之旅】第二篇(四):字典
  • 使用Optional更优雅地处理非空判断
  • 你能保证你的代码没有异常吗?
  • OC之NSString/NSMutableString
  • 公司CEO和我说:在系统优化的时候,不要轻易用多线程
  • phalapi-进阶篇6(解决大量数据存储数据库分表分库拓展)
  • 快速理解工厂方法模式,及其在源码中的应用
  • 线上报了内存溢出异常,又不完全是内存溢出
  • 用代码告诉你“问世间情为何物,直教人生死相许”
  • 互联网公司的完整开发流程是怎样的?
  • 如何在SpringBoot启动时执行初始化操作,两个简单接口就可以实现
  • BZOJ4584 : [Apio2016]赛艇
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 10个确保微服务与容器安全的最佳实践
  • Babel配置的不完全指南
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Javascripit类型转换比较那点事儿,双等号(==)
  • jquery cookie
  • js中的正则表达式入门
  • js作用域和this的理解
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • log4j2输出到kafka
  • MD5加密原理解析及OC版原理实现
  • socket.io+express实现聊天室的思考(三)
  • Sublime text 3 3103 注册码
  • Travix是如何部署应用程序到Kubernetes上的
  • uva 10370 Above Average
  • XML已死 ?
  • 测试开发系类之接口自动化测试
  • 回流、重绘及其优化
  • 每天一个设计模式之命令模式
  • 设计模式 开闭原则
  • 手写一个CommonJS打包工具(一)
  • Nginx实现动静分离
  • 正则表达式-基础知识Review
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (C语言)fread与fwrite详解
  • (LeetCode 49)Anagrams
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)Sql Server 保留几位小数的两种做法
  • (转)Unity3DUnity3D在android下调试
  • (转)VC++中ondraw在什么时候调用的
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET 反射 Reflect
  • .net6使用Sejil可视化日志
  • .NET企业级应用架构设计系列之开场白