指數同餘

題目描述

輸入整數m,n,k,求m^n mod k的值。m,n,k*k爲長整型範圍內的自然數

輸入

輸入一行3個整數,分別爲m,n,k

輸出

輸出一行一個整數,表示結果

樣例輸入

2 10 9

樣例輸出

7

直接快速冪就解決了,注意用long long

最好用位運算,速度比較快

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL Pow_mod(LL a, LL b, LL m)
{
    LL ans = 1;
    a = a % m;
    while (b > 0) 
    {
        if (b & 1) 
            ans = ans * a % m;
        a = a * a % m;
        b >>= 1;
    }
    return ans;
}
int main()
{
    LL a,b,m;
    scanf("%lld%lld%lld",&a,&b,&m);
    printf("%lld\n",Pow_mod(a,b,m));
    return 0;
}

 

發佈了57 篇原創文章 · 獲贊 12 · 訪問量 4817
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章