在很多情況下,我們需要對信息進行加密。特別是隨着Internet的飛速發展,加密技術就顯得尤爲重要。
很早以前,羅馬人爲了在戰爭中傳遞信息,頻繁地使用替換法進行信息加密。然而在計算機技術高速發展的今天,這種替換法顯得不堪一擊。因此密碼研究人員正在試圖尋找一種易於編碼、但不易於解碼的編碼規則。
目前比較流行的編碼規則稱爲RSA,是由美國麻省理工學院的三位教授發明的。這種編碼規則是基於一種求密取模算法的:對於給出的三個正整數a,b,c,計算a的b次方除以c的餘數。
你的任務是編寫一個程序,計算(a^b) mod c。
Input
輸入文件只有一行依次爲三個正整數a,b,c,三個正整數之間各以一個空格隔開,並且1<=a,b<c<=32,768。
Output
(a^b) mod c
Sample Input
Copy sample input to clipboard
2 6 11
Sample Output
9
解法:
數學不好太吃虧了。。。
ab%c=(a%c)*(b%c)%c;
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
int sum=1;
for(int i=1;i<=b;i++)
{
sum=sum*(a%c);
sum=sum%c;
}
cout<<sum<<endl;
return 0;
}