• 模运算 NOJ 1037


                                                                                    模运算

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 1026            测试通过 : 191 

    题目描述

    给定整数a,b,n,要求计算(a^b)mod n



    输入

    多组数据,每组数据一行,为三个用空格隔开的整数a,b,n

    1<=a<=5000,0<=b<=10^8,1<=n<=5000000

    输出

    每组数据输出一行,为所求值

    样例输入

    2 3 5
    2 2 4

    样例输出

    3
    0

    题目来源

    NUAA


    裸的快速幂,套用模板就行了==

    实现代码:

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    #define mod 1000000007
    long long qpow(long long x,long long y,long long n) {
        long long now = 1,tmp = x;
        while(y) {
            if(y % 2)
                now = (now * tmp) % n;
            tmp = (tmp * tmp) % n;
            y /= 2;
        }
        return now;
    }
    int main() {
            long long x,y,n;
            while(cin >> x >> y>>n){
            cout<<qpow(x,y,n)<<endl;
        }
        return 0;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    TSQL 基础学习 04
    第13章 网络编程
    Oracle 第一天
    第11章 进程与多线程
    Linux 第06天
    构造Json对象串工具类
    第14章 数据库
    第07章 集合
    YARNMR 大数据第二天
    第12章 多媒体
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965480.html
Copyright © 2020-2023  润新知