前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >51Nod--1008 N的阶乘 mod P

51Nod--1008 N的阶乘 mod P

作者头像
指点
发布2019-01-18 15:28:58
5820
发布2019-01-18 15:28:58
举报
文章被收录于专栏:指点的专栏指点的专栏

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1008

基准时间限制: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

一个规律:a^n%p = (((a*a%p)*a%p)*a%p)… 还需要注意的是范围问题,int 的最大值不超过 3*10^9。为了防止中间数据溢出,最好使用 long long 类型。下面是代码

代码语言:javascript
复制
#include <iostream>
using namespace std;

int main() {
    long long n,p, res=1;
    cin >> n >> p;
    for(int i=1;i<=n;i++) {
        res *= i;
        res %= p;
    }
    cout << res << endl;

    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年06月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档