在 C++ 中找到函式 Y = (X^6 + X^2 + 9894845) % 981 的值。
假設我們給定一個函式,例如 f(x) = (x^6 + x^2 + 9894845) % 971,現在對於給定的 x 值,我們必須找到 f(x) 的值。
因此,如果輸入為 5,則輸出將為 469。
為了解決這個問題,我們將遵循以下步驟 -
定義一個函式 power_mod(),它將接收底數、指數、模數。
底數 := 底數 mod 模數
結果 := 1
當指數 > 0 時,執行 -
如果指數為奇數,則 -
結果 := (結果 * 底數) mod 模數
底數 := (底數 * 底數) mod 模數
指數 = 指數 / 2
返回結果
從主方法執行以下操作 -
返回 (power_mod(n, 6, m) + power_mod(n, 2, m)) mod m + 355) mod m
示例
讓我們看看以下實現以獲得更好的理解 -
#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
lli power_mod(lli base, lli exponent, lli modulus) {
base %= modulus;
lli result = 1;
while (exponent > 0) {
if (exponent & 1)
result = (result * base) % modulus;
base = (base * base) % modulus;
exponent >>= 1;
}
return result;
}
int main(){
lli n = 654654, m = 971;
cout<<(((power_mod(n, 6, m)+power_mod(n, 2, m))% m + 355)% m);
}輸入
84562
輸出
450
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP