标签:des style http color io os ar sp div
我们先来复习一下什么叫做组合数。对于正整数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定理叙述如下:
#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; }
标签:des style http color io os ar sp div
原文地址:http://blog.csdn.net/u013446688/article/details/39828965