๋๋ณด๊ธฐ
๊ณฑ์ ์ฑ๊ณต
0.5 ์ด (์ถ๊ฐ ์๊ฐ ์์) 128 MB 73704 19953 14691 26.303% ๋ฌธ์
์์ฐ์ A๋ฅผ B๋ฒ ๊ณฑํ ์๋ฅผ ์๊ณ ์ถ๋ค. ๋จ ๊ตฌํ๋ ค๋ ์๊ฐ ๋งค์ฐ ์ปค์ง ์ ์์ผ๋ฏ๋ก ์ด๋ฅผ C๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ A, B, C๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. A, B, C๋ ๋ชจ๋ 2,147,483,647 ์ดํ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ A๋ฅผ B๋ฒ ๊ณฑํ ์๋ฅผ C๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1 ๋ณต์ฌ
10 11 12
์์ ์ถ๋ ฅ 1 ๋ณต์ฌ
4โ
๊ฑฐ๋ญ์ ๊ณฑ ๋ถํ ์ ๋ณต ๋ฌธ์ ์ด๋ค.
์ด๋ฌธ์ ๊ฐ ๊ธฐ๋ณธํ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
๋ง์ง๋ง์ ๋ ๋๋จธ์ง ์ฐ์ฐ ํด์ฃผ๋๊ฑธ ์์ง ๋ง์!
#include <iostream>
using namespace std;
long long A, B, C;
void func(int power){
if(power == 1)
return;
if(power%2 == 0){
func(power/2);
A = (A*A)%C;
}else{
long long oriA = A;
func(power-1);
A = A*oriA%C;
}
}
int main(){
cin>>A>>B>>C;
func(B);
cout<<A%C;
}