【題解】 數學一本通 例1.2-1 指數取餘

話說我沒仔細看題的時候感覺很厲害的樣子
但這不就是快速冪模板嗎
水一發水一發
其實主要是覺得書上標程的快速冪很清新脫俗哈


題目

問題描述

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

輸入格式

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

輸出格式

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


題解

需要題解嗎
快速冪模板…


代碼

以下就是那個清新脫俗的快速冪啦
壓行選手必備

#include <cstdio>

int main (){
    int m, n, k; scanf ("%d%d%d", &m, &n, &k);
    int ans = 1;
    for ( ; n; n >>= 1, m = (long long )m * m % k)
    if (n & 1) ans = (long long )ans * m % k;
    printf ("%d", ans);

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章