CPC23-4-K. 喵喵的神数 (数论 Lucas定理)

喵喵的神∙数
Time Limit: 1 Sec Memory Limit: 128 MB


Description
喵喵对组合数比较感兴趣,并且对计算组合数非常在行。同时为了追求有后宫的素质的生活,喵喵每天都要研究
质数。

我们先来复习一下什么叫做组合数。对于正整数P、T  
                                                       
然后我们再来复习一下什么叫质数。质数就是素数,如果说正整数N的约数只有1和它本身,N就是质数;另外,
1不是质数。
今天,喵喵想要知道

                                 
Input
输入第一行是一个整数N(N<=1000)。
接下来N行,每行包括一个正整数T和一个质数P(1<=P<=T<231)。
Output
包括N行,根据输入的顺序,每一行为一个整数:
Sample Input
2
3 2
10 3
Sample Output
1
0
HINT
Source
CPC3




解题思路:

这题是纯数学题,唉,数学就是硬伤啊!搞了半天,没有结果,果断百度了一下,结果搜到了不明觉历的Lucas定理,据说是专门解决C(n, m)%p的,其中p是质数。

Lucas定理叙述如下:

        数论Lucas定理是用来求 c(n,m) mod p的值,p是素数(从n取m组合,模上p)。
描述为:
Lucas(n,m,p)=cm(n%p,m%p)* Lucas(n/p,m/p,p)
Lucas(x,0,p)=1;
本题中,让求的是 ,所以,n = p, 代入得  Lucas(n,m,p)  =   cm(n%p, m%p)* Lucas(n/p, m/p, p)
                                                                                                              =    cm(n%p, p%p)* Lucas(n/p, p/p, p)
                                                                                                             =    cm(n%p, 0)* Lucas(n/p, 1, p)
                                                                                                             =    1 * Lucas(n/p, 1, p)
                                                                                                             =    C(n/p, 1) % p 
=    C(n/p, 1) % p 
=    ( n/p ) % p





AC代码:
#include <iostream>
#include <cstdio>
using namespace std;

int main(){
	freopen("in.txt", "r", stdin);
	int n, t, p;
	cin >> n;
	while(n--){
		cin >> t >> p;
		cout << (t / p) % p << endl;
 	}
 	return 0;
}



Github下载地址:https://github.com/XLAccount/MiaoBo 项目详解地址:http://www.code4app.com/blog-843201-350.html 快速集成RTMP的视频推流教程:http://www.code4app.com/blog-843201-315.html ffmpeg常用命令操作:http://www.code4app.com/blog-843201-326.html #关于IJKMediaFramework/IJKMediaFramework.h找不到的问题,下载后直接拉到项目中即可 下载地址:https://pan.baidu.com/s/1boPOomN 密码::9yd8 #BUG修复: 解决登录程序偶尔崩溃,修复轮播图片和页面控制器叠加等问题,修复新浪授权登录 (2016.9.7) 解决程序运行中偶尔崩溃问题,解决连续下拉刷新崩溃问题,优化代码 (2016.9.8) 优化直播页面,减少不必要的性能消耗,增加用户体验 (2016.9.11) 适配5s以上的机型除了6sPlus和6Plus延迟较大外,其余延迟都较小,网速好的话可以忽略不计 (2016.9.12) 新版本极大优化程序性能,修复关注数据异常等小问题,重新布局热门页面,减少因反复加载带来的性能消耗 (2016.9.13) 增加个人中心页面,采用下拉放大图片 ➕ 波纹效果 (2016.9.14) ![image text](https://github.com/XLAccount/ALLGIFS/blob/master/psb.gif) 展示图片 ![image](https://github.com/XLAccount/ALLGIFS/blob/master/psb-1.gif) 展示图片 ![image text](https://github.com/XLAccount/ALLGIFS/blob/master/psb-2.gif) 展示图片 ![image text](https://github.com/XLAccount/ALLGIFS/blob/master/psb-3.gif) 展示图片 感谢大神Monkey_ALin http://www.jianshu.com/users/9723687edfb5/latest_articles 的demo支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值