JustOj 1974: 简单的事情 (组合数)

题目描述

数学天才fans曾经说过一句话:组合数的计算是一件非常简单的事情。组合数的计算真的是一件非常简单的事情吗?请你自己去尝试一下吧!

输入

输入中的一些整数对n,m(m≤n≤20)

输出

输出其组合数。

样例输入
5 2
18 13
样例输出
10
8568

题解:组合数
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <vector>
 6 #include <cstdlib>
 7 #include <iomanip>
 8 #include <cmath>
 9 #include <ctime>
10 #include <map>
11 #include <set>
12 using namespace std;
13 #define lowbit(x) (x&(-x))
14 #define max(x,y) (x>y?x:y)
15 #define min(x,y) (x<y?x:y)
16 #define MAX 100000000000000000
17 #define MOD 1000000007
18 #define pi acos(-1.0)
19 #define ei exp(1)
20 #define PI 3.141592653589793238462
21 #define INF 0x3f3f3f3f3f
22 #define mem(a) (memset(a,0,sizeof(a)))
23 typedef long long ll;
24 ll gcd(ll a,ll b){
25     return b?gcd(b,a%b):a;
26 }
27 const int N=205;
28 const int mod=1e9+7;
29 void la(int x,int y)
30 {
31     ll n=1,m=1;
32     for(int i=y+1;i<=x;i++)
33         n*=i;
34     for(int i=1;i<=x-y;i++)
35         m*=i;
36     cout<<n/m<<endl;
37 }
38 int main()
39 {
40     std::ios::sync_with_stdio(false);
41     int n,m;
42     while(cin>>n>>m){
43         la(n,m);
44     }
45     return 0;
46 }
时间: 2024-08-03 12:14:07

JustOj 1974: 简单的事情 (组合数)的相关文章

2015年最好的员工心态培养 -- 我们需要把简单的事情做到极致

回答两个问题 1.你怎么对自己管理?你的自我管理体系形成了吗?包括了什么? 2.这十年来觉得最成功的事情是什么,为什么觉得最成功?成功的秘诀是什么? 你对今天的结果满意吗? -------------------------------------------------------------------------------------- 你的心理状态 两句话你认同哪句? 1.我连简单的事情做得都比牛人差 2.我之所以比牛人差因为我没有将很难的事做好 -------------------

新上线的网站想要获得排名没有什么捷径,简单的事情重复做

1.查看网站快照情况 对于交换链接,我们首先要看的就是网站要有快照,不管网站快照慢还是快照隔天的,但是第一条肯定是网站要有快照,最好是当天,次之隔天,最差3天内,超过一周的基本不考虑. 2.考虑PR值和PR输出值 对于这点,出站链接最好少于30,最高不超过50,也许很多人说谷歌PR已经退出中国市场了,那么为什么我们还需要看网站的PR值呢?虽然说谷歌PR曾经退出过,但是谷歌官方后来还是承认谷歌PR的存在,所以网站的PR值是交换友链的标准之一,不一定都要比自己高的,只要相当就可以了,当然,能换到PR

复杂的事情简单做,简单的事情重复做,重复的事情用心做!

人们常说“复杂的事情简单做,简单的事情重复做,重复的事情用心做!”,其中真正的内涵是什么呢? 所有事情想完成都是复杂的,复杂的事情简单做,只有将步骤简单化,理出脉络,才能着手去做.多数时候我们都把简单当简化来做了,而简单并非简化,简单是每一步骤都要清晰做到位,简化则是是几个步骤合并去做,省略了本该有的过程,事情往往就是毁在了简化上.重复并非复制.简单的事情重复做,就是要我们要看清楚自己在这里面能重复的是什么?在重复的过程中,进度快了是因为自己的能力提升了?还是简化了步骤?而复制是按原来的模子一模

css,世界上没有绝对简单的事情

引文 自从学了前端的基础,自认为是没什么css是能难倒我的,可是事实是,世界上没有绝对简单的事情,实际上还有好多的东西等待我们去发掘. 详解 1.有些浏览器不完全支持css3,现在可以用 modernizr 工具去检测浏览器是否支持,以及支持哪些项. 2.除了内联元素和块级元素,还有几个标签的默认display并不是block/inline,下面举几个栗子: table { display:table } input { display:inline-block } textarea {  }

简单数学(组合数+求数列通项公式)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6467 看到这题,简单数学???对不起我给数学老师丢脸了! 这里解释一下第二步到第三步:假设n=3,第二步{1*C(1,1)+1*C(1,2)+1*C(1,3)+2*C(2,2)+2*C(2,3)+3*C(3,3)},第三步{1*C(1,1)+1*C(1,2)+2*C(2,2)+1*C(1,3)+2*C(2,3)+3*C(3,3)}.可以发现是相等的 之后最后一步就是组合数求和公式2^n. 之后便可以

RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World

一.简介 RabbitMQ是一个消息的代理器,用于接收和发送消息,你可以这样想,他就是一个邮局,当您把需要寄送的邮件投递到邮筒之时,你可以确定的是邮递员先生肯定会把邮件发送到需要接收邮件的人的手里,不会送错的.在这个比喻中,RabbitMQ就是一个邮箱,也可以理解为邮局和邮递员,他们负责把消息发送出去和用于接收信息. RabbitMQ和邮局这两者之间的主要区别是它不会处理纸质邮件,取而代之的是接收.存储和发送二进制数据块,也就是我们通常所说的消息. RabbitMQ和消息中,通常会使用一些专业术

C++11,使简单的事情简单

Joe Armstrong说过一句话: 面向对象编程语言的问题在于,它总是附带着所有它需要的隐含环境.你想要一个香蕉,但得到的却是一个拿着香蕉的大猩猩,和整个丛林. 显然地,这将简单问题复杂化了.我们不否认这个世界上,有些代码是不能简单化的.对于那些可以简单化的代码,我们还是希望不要复杂化.如果你是这样的人,没有理由不使用C++11.下面将展示C++11是如何奇迹般地使代码简单化的. 假设有下面一段代码,用于判断容器内是否存在符合我们要求的字符串: vector<string>::const_

C# Online ! 第三篇:连C#也不例外 ! 这是新手都要做的事情!!

玩过Online game的朋友一定都知道,游戏刚开始新手都会有一定要做的事情,可能是先去打木人,或是先找头上有惊叹号的人说说话,这样很快就可以练到LV5了喔!!这种简单的事情对新手来说,意义可是很重大的,从LV1(什么都没有) ~ LV5(好像还是什么都没有...但是等级至少比较高了嘛..),既然新手都有一些一定要做的事情,想必写程序也是一样,来去Bing一下吧!! "hello, world"这个是我查询出来的结果,这似乎是写程序的初心者一开始都必须做的事情啊...而且这是有典故的

使用storyboard实现页面跳转,简单的数据传递

在storyboard中,界面的跳转是通过segue来实现的,利用它,省去了方法内写入跳转的代码. 一 视图跳转 <StoryBoard下的视图跳转> 我们知道:segue共有三种类型:push,modal,和custom.如下图://01 简单说下这三个的作用:使用导航栏压进新的控制器(push),模态的加载视图控制器(modal),自定义(custom). 好了,废话少说,现在开始我们的旅行. 1,首先建立一个Single View 模板的项目,记得勾选上storyboard.然后打开它,