zoukankan      html  css  js  c++  java
  • [FOJ 1752] A^B mod C

    Problem 1752 A^B mod C

    Accept: 750    Submit: 3205
    Time Limit: 1000 mSec    Memory Limit : 32768 KB

     Problem Description

    Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,B,C<2^63).

     Input

    There are multiply testcases. Each testcase, there is one line contains three integers A, B and C, separated by a single space.

     Output

    For each testcase, output an integer, denotes the result of A^B mod C.

     Sample Input

    3 2 4 2 10 1000

     Sample Output

    1 24
     
    二分快速幂模板题
    #include <iostream>
    #include <cstdio>
    using namespace std;
    #define ll __int64
    
    ll quickadd(ll a,ll b,ll c)    //运用快速幂的思想快速加,这样就不会溢出
    {
        ll ret=0;
        while(b)
        {
            if(b&1)
            {
                ret+=a; 
                if(ret>=c) ret-=c; //这样比直接取模(ret%=c)更快
            }
            a<<=1;
            if(a>=c) a-=c;
            b>>=1;
        }
        return ret;
    }
    ll quickpow(ll a,ll b,ll c)
    {
        ll ret=1;
        while(b)
        {
            if(b&1) ret=quickadd(a,ret,c);
            a=quickadd(a,a,c);
            b>>=1;
        }
        return ret;
    }
    int main()
    {
        ll a,b,c;
        while(scanf("%I64d%I64d%I64d",&a,&b,&c)!=EOF)
        {
            printf("%I64d
    ",quickpow(a%c,b,c));
        }
        return 0;
    }
    趁着还有梦想、将AC进行到底~~~by 452181625
  • 相关阅读:
    枚举8项素数和环
    登录过滤器
    线程调度
    回溯素数环
    centos 6.5 samba简单配置
    区间k大数查询
    Centos安装arm-linux-gcc等交叉工具链
    centos7安装tftp服务器
    八皇后问题
    输出1——n的排列(深度优先搜索)
  • 原文地址:https://www.cnblogs.com/hate13/p/4123380.html
Copyright © 2011-2022 走看看