이 영상 참고하시면 좋을 것 같습니다.
pow함수를 직접 구현하는 방법 입니다.
https://www.youtube.com/watch?v=otu3FCyoUVY
1629번 - 곱셈
B가 짝수일 때와 홀수일 때, 예를들어 아래와 같이 볼 수 있습니다.
결국 이용하는 수학적 사고는 이미 알고계실 요거입니다. A(x*y) = (Ax)y
A^4 = (A^2)^2 (짝수일때) A^5 = A * A^4 = A * (A^2)^2 (홀수일때)
B가 4일때를 보면 원래대로면 A * A * A * A 이렇게 * 연산이 3번 들어가야하지만,
A*A를 계산해서 A' 이라고 저장해두고 보자면 A' * A' 를 하면 되므로 총 * 연산이 2번 들어가죠!
그럼 이번엔 B가 8이라면 ((A^2)^2)^2 가 되겠죠.
A^2 = A' 이라면, (A^2)^2 = A' ^ 2 = A'' 이라면, 최종적으로 A'' ^2이 되고
원래는 A*A*A*A*A*A*A*A -> *연산 7번 이어야 되는게,
* 연산 3번으로 되죠.
즉, log2N 으로 연산 횟수가 줄어듭니다.
이걸 이용한 문제입니다.
댓글을 작성하려면 로그인해야 합니다.
powerlsj7 4년 전 1
키워드좀 알려주세용.
거듭제곱 알고리즘 치니까 안나와용.