CPC23-4-K. 喵喵的神数 (数论 Lucas定理)
2014-10-06 16:48
786 查看
喵喵的神∙数
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代码:
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定理)
- ACM 数论 HDU 3037 Saving Beans (Lucas定理,大数取魔)
- lucas (数论定理)
- HDU --- 5446 Unknown Treasure 数论综合【Lucas定理 + 中国剩余定理 + 快速乘 + 思维】
- [数论] 组合数取模 中国剩余定理 Lucas定理
- HDU - 5446 Unknown Treasure (数论部分定理的综合应用,lucas+CRT)
- Bzoj 4403: 序列统计 Lucas定理,组合数学,数论
- Bzoj 4591: [Shoi2015]超能粒子炮·改 数论,Lucas定理,排列组合
- 【数论】Lucas定理与拓展Lucas定理
- BZOJ 1951 [Sdoi2010] 古代猪文 数论 Lucas定理
- 数论(Lucas定理) HDOJ 4349 Xiao Ming's Hope
- 数论 Lucas定理 hdu3037
- 数论之Lucas定理及证明过程
- [数论][Lucas定理] 51Nod 1778 小Q的集合
- 【数论】Lucas定理推导过程+模板
- 数论-Lucas(卢卡斯定理)
- HDU 3037 Saving Beans (数论,Lucas定理)
- 数论-Lucas(卢卡斯定理)
- 【BZOJ-4591】超能粒子炮·改 数论 + 组合数 + Lucas定理
- 教你一波Lucas(卢卡斯)定理在数论解题中的应用