* 풀이1
- a^b를 for문으로 구하는방법
- 중간중간에 %c
- 복잡도가 터진다. O(20억)
* 풀이2
- 이걸 재귀함수로 /2 해가면서 구하면
- log2 b 로 줄일수있다!
- b가 홀수인경우, a를 1번더 곱해주면된다. ( 2^5 = 2^2 * 2^2 * 2^1)
- 각각의 18번째줄의 return 문을 만나면서, 계산한 값을 위로 계속 전달해준다!!
- return을 받은 위쪽 노드는 15번째 줄부터 수행하면서 다시 계산후, 위 노드에게 값을 전달한다.
- 최초 호출 노드를 만나면 main에서 값이 출력된다.
* 전체코드
'Algorithm > 수학' 카테고리의 다른 글
[알고리즘] 백준 4375 1 // 모듈러연산, str금지, 자릿수저장할 변수 (0) | 2025.01.01 |
---|---|
[알고리즘] 구름 해외주식투자 c++ // 소수점 절사방법, 비교방법, 로그값구하는법 (0) | 2024.06.12 |
백준 1010 다리놓기 c++ // 수학, 조합론 (0) | 2024.04.28 |