问题链接:CCF NOI1063 计算组合数



时间限制: 1000 ms  空间限制: 262144 KB

题目描述

给出两个非负整数n和m,编写程序计算组合数C(n,m)的值。

输入

一行两个空格隔开的非负整数n,m。

输出

输出一个数表示C(n,m)。

样例输入

5 2
样例输出

10

数据范围限制

0<n<=20,0<=m<=n。



问题分析

这是一个简单的数学计算问题,需要知道组合函数的计算公式。

输入的数不保证m和n的大小,程序中需要注意,编写相应的逻辑应对。

程序说明

输入的n和m不大,使用类型unsigned long long即可。

使用类型定义后,提交时需要选C++,否则程序错误。那个C语言编译器似乎不支持类型定义!郁闷啊!

要点详解

  • 尽量用函数封装功能函数。
  • 使用类型定义可以使得代码更加简洁。

参考链接:(略)。


100分通过的C语言程序:

#include <stdio.h>typedef unsigned long long ULL;ULL c(int n, int m)
{ULL ans = 1;if(m <= n-m)m = n - m;for(int i=m+1; i<=n; i++)ans *= i;for(int i=1; i<=n-m; i++)ans /= i;return ans;
}int main(void)
{int n, m;scanf("%d%d", &n, &m);printf("%lld\n", c(n, m));return 0;
}

转载于:https://www.cnblogs.com/tigerisland/p/7563885.html

CCF NOI1063 计算组合数相关推荐

  1. 《算法竞赛入门经典》计算组合数问题

    计算组合数 编写函数,参数是两个非负整数n和m,返回组合数 其中m<=n<=25.例如,n=25,m=12时的答案为5200300. 代码及算法分析 程序4-1 组合数(有问题) #inc ...

  2. 西华大学计算机学院陈鹏,中国计算机学会CCF服务计算专委会走进西华大学

    近日,"中国计算机学会CCFF服务计算专委走进高校活动"来到西华大学.此次活动邀请到CCF服务计算专委会副主任.天津大学冯志勇教授,南京大学马晓星教授,CCF服务计算专委会副秘书长 ...

  3. Java练习 SDUT-1586_计算组合数

    计算组合数 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 计算组合数.C(n,m),表示从n个数中选择m个的组合数. ...

  4. CCF NOI1064 计算斐波那契第n项

    问题链接:CCF NOI1064 计算斐波那契第n项. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 输入n,编写程序输出斐波那契数列的第n项.其中斐波那契数列f(n)的定义 ...

  5. CCF NOI1016 计算天数

    问题链接:CCF NOI1016 计算天数. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 输入年份与月份,求该月共有多少天. 输入 输入两个空格隔开的正整数year和mon ...

  6. CCF NOI1007 计算余数

    问题链接:CCF NOI1007 计算余数. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 计算两个双精度浮点数a和b相除的余数,a和b都是正数.这里余数(r)的定义是:a ...

  7. 笔试题--计算组合数

    写程序,能够计算组合数 . 首先想到的是写一个求阶乘的函数,然后再另一个函数中对其调用以计算该组合数.这个思路没有问题,但是能写好代码也不是件容易的事,而且我们应该意识到,招聘方的这道简单的问题很显然 ...

  8. 计算组合数的几种方法总结

    前言 组合数就是 Cmn C n m C_n^m,是排列组合中非常重要的一部分,最近做到了几道与计算组合数有关的题,想在此总结一下如何编程计算组合数. 某位大佬在我之前也写过类似的文章,这是他的博客: ...

  9. 计算组合数 汉诺塔 喵帕斯之天才算数少女 神奇的函数

    计算组合数 Time Limit: 1000 ms Memory Limit: 32768 KiB Submit Statistic Problem Description 计算组合数.C(n,m), ...

最新文章

  1. 设置单元格不换行,多出的部分隐藏
  2. C#设计模式-1、适配器模式(Adapter Pattern)(转载)
  3. IOS UITableView性能优化
  4. 20135203齐岳 信息安全系统设计基础第十三周学习总结
  5. 单链表 操作的18种算法
  6. 覆盖所有面试知识点,送大厂面经一份!
  7. java 整数变负数_一文帮你读懂Java整数的存储原理
  8. mysql创建虚拟网卡_创建启动虚拟网卡
  9. golang:cannot unmarshal number into Go value of type []json.RawMessage
  10. 使用 Chrome 浏览器截取网页长图
  11. MySQL操作命令-学习笔记随时记录
  12. 离线安装selenium
  13. Java8 - 定制归一化收集器(reducing)得到自定义结果集
  14. Linux嵌入式开发必读推荐书籍
  15. 制作简易的牛顿摆锤模型
  16. 复现Thinkphp5 5.0.22/5.1.29远程代码执行漏洞
  17. 6G定位的潜力与挑战
  18. 仿淘宝话费充值手机号码提示
  19. 证书Certificate以及android打包签名
  20. 基于合作层次基因调控网络的多机器人目标捕获

热门文章

  1. 返回键捕获 应用程序退出的两种方式(转)
  2. linux开机流程、模块管理与Loader(续)
  3. 【每日一记3.21】initrd
  4. sql多条件查询语句
  5. ckeditor默认字体设置
  6. 【转载】哪个OA比较好,18家常见OA系统全方位大阅兵
  7. vue单页面跳页没有数据了_详解刷新页面vuex数据不消失和不跳转页面的解决
  8. 笔记本电脑投屏到电视_Thinkpad笔记本PC无线连接电视或投影机,性能稳定的商用投屏解决方案...
  9. android 父控件的背景_android控件拖动,移动、解决父布局重绘时控件回到原点
  10. Metasploit log命令技巧