下面我们来看一个容易让人蒙圈的问题:N的阶乘 mod P。

51Nod 1008 N的阶乘 mod P

看到这个可能有的人会想起快速幂,快速幂是N的M次方 mod 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的结果。 Sample Input
10 11

Sample Output

10

下面是代码:(要注意如果用int中间可能会溢出,用int提交h会WA)

#include<cstdio>
#define ll long long
ll quickpow(ll n,ll p){
ll ans=1;
for(ll i=1;i<=n;i++){
ans=ans*i%p;
}
return ans;
}
int main()
{
ll n,p;
scanf("%lld%lld",&n,&p);
printf("%lld",quickpow(n,p));
}

快速幂的类似问题(51Nod 1008 N的阶乘 mod P)的更多相关文章

  1. 51nod 1008 N的阶乘 mod P

    输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)   例如:n = 10, P = 11,10! = 3628800 3628800 % 11 = 10   Input 两 ...

  2. 51 Nod 1008 N的阶乘 mod P【Java大数乱搞】

    1008 N的阶乘 mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)   例如:n ...

  3. 快速幂取模模板 && 51nod 1013 3的幂的和

    #include <iostream> #include <cstdio> #include <cmath> #include <vector> #in ...

  4. 【51NOD-0】1008 N的阶乘 mod P

    [算法]简单数学 [题解]多项式展开:(a*b)%p=(a%p*b%p)%p #include<cstdio> #include<algorithm> #define rep( ...

  5. 薛XX后代的IQ CSU1597【循环节】或【快速幂】

    薛先生想改变后代的IQ,为此他发明了一种药,这种药有三种属性:A, B,P.他父亲的智商为X,薛先生的智商为Y,用了这种药之后,薛先生的孩子的智商就可以变为(AX+BY) mod P.后代的智商以此类 ...

  6. 矩阵快速幂-QuickPow

    矩阵快速幂引入: 1.整数快速幂: 为了引出矩阵的快速幂,以及说明快速幂算法的好处,我们可以先求整数的幂.如果现在要算X^8:则 XXXXXXXX 按照寻常思路,一个一个往上面乘,则乘法运算进行7次. ...

  7. jiulianhuan 快速幂--矩阵快速幂

    题目信息: 1471: Jiulianhuan 时间限制: 1 Sec  内存限制: 128 MB 提交: 95  解决: 22 题目描述 For each data set in the input ...

  8. hiho #1143 : 骨牌覆盖问题·一 (运用快速幂矩阵)

    #1143 : 骨牌覆盖问题·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然 ...

  9. HDU 2817 A sequence of numbers 整数快速幂

    A sequence of numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

随机推荐

  1. 神奇的URL Schemes大全

    微信: 打开微信 wechat:// 微信扫一扫 weixin://scanqrcode 支付宝: 蚂蚁庄园 alipays://platformapi/startapp?appId=66666674 ...

  2. mac安装扩展出现grep: /usr/include/php/main/php.h

    在Mac下执行 sudo phpize时提示: grep: /usr/include/php/main/php.h: No such file or directorygrep: /usr/inclu ...

  3. 未知进程问题,process information unavailable

    执行jps,有些未知进程: 2690 -- process information unavailable2666 原因:内存不足. cd /tmp/hsperfdata_impala/ 执行ll后, ...

  4. #$d#$a什么意思

    #$d#$a什么意思 qjh.693111级分类:外语被浏览37次2013.05.12   满意答案 vgrwi 采纳率:50%12级 2013.05.13 回车换行 换成十进制就是 #13#10

  5. VTK基于MFC单文档的开发

    目录 项目的搭建 相关头文件的引用 添加成员变量vtkRenderer, vtkMFCWindow CXxxView()中实例化变量vtkRenderer CXxxView::OnInitialUpd ...

  6. Vue父组件向子组件传值

    父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script> // 创建 Vue 实例,得到 ViewModel var vm = ne ...

  7. 006.Delphi插件之QPlugins,多服务演示

    演示效果如下 演示工程,全部就一个文件,代码如下 unit Frm_Main; interface uses Winapi.Windows, Winapi.Messages, System.SysUt ...

  8. C#实体类生成工具(onlymodel)

    最近刚从常用数据库Mysql转到SqlServer,深陷于没有实体生成工具的痛苦,尝试过动软,但生成的字段类型和数据库的有些不对应.以及网上的一些实体生成工具,但要么操作太过繁琐,要么效果不如人意,所 ...

  9. GAN网络进行图片增强

    GAN网络进行图片增强 基于Tensorflow框架 调用ModifyPictureSize.py文件 代码如下: from skimage import io,transform,color imp ...

  10. 对上一篇Logstash的补充

    主要补充内容: 1.同步多表 2.配置的参数个别说明 3.elasticsearch的"_id"如果有相同的,那么会覆盖掉,相同"_id"的数据只会剩下最后一条 ...