在 C++ 中求 (1^n + 2^n + 3^n + 4^n) mod 5


在本教程中,我們將解決以下問題。

給定一個整數 n,我們必須找到 (1n+2n+3n+4n)%5

如果 n 很大,則數字 (1n+2n+3n+4n) 將非常大。它也不能放入長整數中。因此,我們需要找到一個替代解決方案。

如果您針對數字 1、2、3、4、5、6、7、8、9 求解方程,您將分別得到 10、30、100、354、1300、4890、18700、72354、282340 的值。

仔細觀察方程結果。您會發現方程結果的最後一位數字每隔 4 個數字就會重複一次。這是方程的週期性。

無需實際計算方程,我們可以說

如果 n%4==0,則 (1n+2n+3n+4n)%5 將為 4,否則為 0

示例

讓我們看看程式碼。

 即時演示

#include <bits/stdc++.h>
using namespace std;
int findSequenceMod5(int n) {
   return (n % 4) ? 0 : 4;
}
int main() {
   int n = 343;
   cout << findSequenceMod5(n) << endl;
   return 0;
}

輸出

如果您執行以上程式碼,則將獲得以下結果。

0

結論

如果您在本教程中有任何疑問,請在評論區中提及。

更新於:2021 年 2 月 1 日

213 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.