喵喵的神∙数
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;
}


CPC23-4-K. 喵喵的神数 (数论 Lucas定理)的更多相关文章

  1. 51Nod 机器人走方格 V3 —— 卡特兰数、Lucas定理

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1120 题解: 1.看到这种题,马上就想到了卡特兰数.但卡特兰数 ...

  2. BZOJ 2754([SCOI2012]喵喵叫的星球-统计序列的后缀阵列中子序列出现次数)

    2754: [SCOI2012]喵喵叫的星球 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 805  Solved: 380 [id=2754&qu ...

  3. HTML5打造的炫酷本地音乐播放器-喵喵Player

    将之前捣腾的音乐频谱效果加上一个播放列表就成了现在的喵喵播放器(Meow meow Player,额知道这名字很二很装萌~),全HTML5打造的网页程序,可本地运行也可以挂服务器上用. 在线Demo及 ...

  4. 51nod 1120 机器人走方格 V3 卡特兰数 lucas定理

    N * N的方格,从左上到右下画一条线.一个机器人从左上走到右下,只能向右或向下走.并要求只能在这条线的上面或下面走,不能穿越这条线,有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 100 ...

  5. poj 1430 Binary Stirling Number 求斯特林数奇偶性 数形结合| 斯特林数奇偶性与组合数的关系+lucas定理 好题

    题目大意 求子集斯特林数\(\left\{\begin{matrix}n\\m\end{matrix}\right\}\%2\) 方法1 数形结合 推荐一篇超棒的博客by Sdchr 就是根据斯特林的 ...

  6. CPC23-4 K.喵喵的神·数

    题意:给出整数T,P,求c(T,P) mod P. 解法:用卢卡斯定理. 卢卡斯定理:解决c(n,m) mod p问题.Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) ...

  7. uestc 1725 吴神数

    // 筛选法// 先求出 sqrt(1<<31)内的素数// 然后筛选出符合要求的数// 详情见代码注释// #pragma comment(linker, "/STACK:10 ...

  8. 分治与递归-找k个临近中位数的数

    问题描述:给定由n个互不相同的数组成的集合S以及正整数k≤n,试设计一个O(n)时间算法找出S中最接近S的中位数的k个数. 算法描述: 用线性时间选择实现的算法找到中位数 S’=除去中位数外的S S& ...

  9. 2016-2017学年第三次测试赛 习题E 林喵喵算术

    时间限制: 1 Sec  内存限制: 128 MB 提交: 70  解决: 25 提交统计讨论版 题目描述 给你两个八进制数,你需要在八进制计数法的情况下计算a-b. 如果结果为负数,你应该使用负号代 ...

随机推荐

  1. [字符串] StartWith和EndWith效率比较低

    之前无意中看到有人提到StartWith和EndWith效率比较低,今天恰好有用到这样的场景,于是写了个测试验证一下. 该示例仅在比较字符串首尾单个字符,用途有限. var str = "\ ...

  2. AUTOIT3设置用户包含目录

     

  3. Count of Smaller Numbers After Self -- LeetCode

    You are given an integer array nums and you have to return a new counts array. The counts array has ...

  4. [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 分析: 根据题意,就是比较斜率大小 只看一段区间的话,那么这段区间能看见的楼房数量就是这 ...

  5. implements

    implements 是实现某个接口的意思. 如果某个类 后面使用 implements,并指定了相应的接口,那在该类下面就需要实现相应接口的方法. 比如:接口interface java.lang. ...

  6. MySQL索引,MySQL性能分析及explain的使用,分析SQL查询性能

    可以使用explain来分析MySQL查询性能,举例如下: 1.使用explain语句去查看分析结果 如 explain select * from test1 where id=1; 会出现: id ...

  7. 慎用SELECT INTO复制表

    原文:慎用SELECT INTO复制表 很多时候我们习惯于用SELECT INTO复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些.但是要注意: SEL ...

  8. 【spring boot】集成了druid后,同样的mybatis模糊查询语句出错Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'name LIKE '%' ? '%'

    druid版本是 <!-- https://mvnrepository.com/artifact/com.alibaba/druid 数据库连接池--> <dependency> ...

  9. 在Mac OSX 上配置Appium+Android自动化测试环境

    前提准备 开始正文之前,你需要准备好一些基本条件: 安装好Mac OSX 操作系统的设备 能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 已经安装好 homebrew 已经安装好 Python ...

  10. oracle 被另一个用户锁定

    于是我就直接在上面改字段,在点打钩(记入改变)的时候提示,记录被另一个用户锁住,一开始还以为整个表被锁住了,后来发现,仅仅是这个字段不能改变,其他的字段可以. 网上找了资料,发现是:当多个用户并发地存 ...