입력:
10 11 12
출력:
4
백준 1629번 "곱셈" 문제의 코드입니다.
#include <bits/stdc++.h>
using namespace std;
long long c;
long long calc(long long a, long long b){
if(b==1) return a%c;
long long result=calc(a, b/2);
//(a*b)%c==(a%c*b%c)%c
return result=(result*result)%c*(b%2==1?a:1)%c;
}
int main(){
long long A,B;
cin>>A>>B>>c;
cout<<calc(A,B);
return 0;
}
위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.
백준 2941 크로아티아 알파벳 C++ (0) | 2023.04.05 |
---|---|
백준 4375 1 C++ (0) | 2023.04.04 |
백준 3986 좋은 단어 C++ (0) | 2023.04.04 |
백준 1002 터렛 C++ (0) | 2023.04.04 |
백준 1940 주몽 C++ (0) | 2023.04.02 |