Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 2색칠하기
- 알고리즘
- 프로그래머스
- Java
- 코테준비
- C
- Algorithm
- LV.3
- 단지번호붙이기
- 그래프
- 해시
- 운영체제
- 파이썬
- 동적계획법
- Lv.1
- 고득점Kit
- 코딩테스트
- BFS
- 코딩테스트준비
- hash
- OS
- Lv.2
- 면접질문
- 문제풀이
- 쿠쉬쿠쉬
- Python
- 이분그래프판별
- C++
- BruteForceSearch
Archives
- Today
- Total
쿠쿠의기록
14. 거듭 제곱 구하기 L 본문
문제
n과 m이 주어질 때, n의 m승을 구하는 프로그램을 작성하시오. 단, n의 m승의 값이 커질 수 있기 때문에, 정답을 10,007 으로 나눈 나머지를 출력한다.
입력
첫 번째 줄에 숫자 n과 m이 주어진다. ( 1 ≤ n ≤ 100, 1 ≤ m ≤ 1,000,000,000,000,000,000 )
출력
첫째 줄에 n의 m승을 10,007 으로 나눈 나머지를 출력한다.
예제 입력
3 4
예제 출력
8
#include <stdio.h>
long long int n,m;
long long int power(long long int p){
if(p==0) return 1;
if(p==1) return n;
if(p%2==0){
long long int temp = power(p/2);
return (temp * temp) % 10007;
}else{
long long int temp = power(p-1);
return (temp * n) %10007;
}
}
int main(){
scanf("%lld %lld",&n,&m);
long long int result = power(m);
printf("%lld",result);
return 0;
}
'알고리즘 > L14 고급재귀함수' 카테고리의 다른 글
14. goodseq (0) | 2021.05.10 |
---|