N的阶乘 mod P】的更多相关文章

1008 N的阶乘 mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)   例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10 Input 两个数N,P,中间用空格隔开.(N < 10000, P < 10^9) Output 输出N! mod P的结果. Input示例 10 11 Output示例 10 题目链接:http://…
P1008 N的阶乘 mod P OJ:51Nod 链接:"http://www.51nod.com/Challenge/Problem.html#!#problemId=1008" 题目描述: 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10 输入: 两个数N,P,中间用空格隔开.(N < 10000, P < 10^9) 输出: 输出N! mo…
下面我们来看一个容易让人蒙圈的问题:N的阶乘 mod P. 51Nod 1008 N的阶乘 mod P 看到这个可能有的人会想起快速幂,快速幂是N的M次方 mod P,这里可能你就要说你不会做了,其实你会,为什么呢,只要你明白快速幂的原理,你就会发现他们两个其实差不多是同一个问题. 重要原理:积的取模=取模的积再取模. 快速幂不过是一直乘的相同的的数,这里仅仅是改成乘以不同的数而已. 题目: 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P…
输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)   例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10   Input 两个数N,P,中间用空格隔开.(N < 10000, P < 10^9)   Output 输出N! mod P的结果.   Input示例 10 11   Output示例 10 如果用普通的方法就会wa,如下所示 #include <iostream> #include <st…
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)   例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10 Input 两个数N,P,中间用空格隔开.(N < 10000, P < 10^9) Output 输出N! mod P的结果. Input示例 10 11 Output示例 10 李陶冶 (题目提供者) C++的运行时限为:1000 m…
[算法]简单数学 [题解]多项式展开:(a*b)%p=(a%p*b%p)%p #include<cstdio> #include<algorithm> #define rep(i,j,k) for(int i=j;i<=k;i++) using namespace std; int n,p; int main() { scanf("%d%d",&n,&p); ; rep(i,,n)ans=(1ll*ans*i)%p; printf(&quo…
1008 N的阶乘 mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10 Input 两个数N,P,中间用空格隔开.(N < 10000, P < 10^9) Output 输出N! mod P的结果. Input示例 10 11 Output示例 10 解题思路:模…
题目链接:51nod 1057 N的阶乘 #include<cstdio> using namespace std; typedef long long ll; ; const int mod = 1e8; ll a[N] = {}; int n; int main(){ int i, j, c, cnt; scanf("%d", &n); cnt = ; ; j <= n; ++j){ ; i <cnt; ++i){ a[i] = a[i] * j +…
描述 n的阶乘定义为n!=1*2*3*……*n 如3!=6 n!通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少  输入格式  第一行包括两个数n,k  输出格式 如果n!不止k位,则输出最后k位,如果不足k位,则高位补零,补足k位后输出 注意!这里与阶乘统计1有区别! 测试样例1 输入 7 2 输出 04 备注 7!为5040,去除末尾的0为504,最后两位为04 100%满足1<=n<=1400000 1<=k<=10Vivian S…
http://hi.baidu.com/dreamflyman/item/11e920165596280fd0d66d9f >> syms k;>> kfac=sym('k!');>> subs(kfac,k,10) ans = 3628800 >> subs('x!',10) ans = 3628800 其实,以上程序还可以求更大的数的阶乘,只不过即使算出来为Inf,似乎没有什么用处. http://www.zdh1909.com/html/matlab/…