网站页面
当前课程
成员
常规
第一章 C++语言入门
第二章 基本结构
第三章 实战演习
第四章 数组
第六章 函数
第七章 阶段检测2
第八章 指针
第九章 结构体
第十章 进制与位运算
第十一章 STL
组合数问题
成绩 | 100 | 开启时间 | 2018年10月14日 星期日 15:05 |
折扣 | 0.8 | 折扣时间 | 2018年10月14日 星期日 15:05 |
允许迟交 | 是 | 关闭时间 | 2018年10月14日 星期日 15:05 |
输入文件 | problem.in | 输出文件 | problem.out |
【例题描述】组合数问题(problem.cpp)
从(1,2,3)三个人中选择两个人参加比赛可以有(1,2),(1,3),(2,3)这三种方案。我们称从n个人中选择m个人参加比赛的方案数为组合数C(n,m)。组合数的一般公式为:
规定C(n,0)=1。
现给定n,m和k,对于所有的i和j(0≤i≤n,0≤j≤i),问有多少C(i,j)是k的倍数。
【输入格式】
第一行为两个整数T(1≤T≤10000)和k(1<k≤21),其中T为测试组数。
接下来T行中,每行有两个整数即n(3≤n≤2000)和m(3≤m≤2000)。
【输出格式】
输出T行,每行为一个整数,即有多少C(i,j)是k的倍数。
【输入样例】
1 2
3 3
【输出样例】
1
【样例说明】
只有C(2,1)=2是2的倍数。