Programming/Algorithm
[Java] ๋ชจ๋๋ฌ ์ ๊ณฑ๊ทผ
Space_Jin
2025. 5. 1. 20:41
728x90
๋ฐ์ํ
๋ชจ๋๋ฌ ์ ๊ณฑ๊ทผ์ด๋?
๊ฑฐ๋ญ์ ๊ณฑ๊ทผ(P^N)์ ํจ๊ณผ์ ์ผ๋ก ๊ณ์ฐํ๊ธฐ ์ํ ๋ฐฉ์
๊ฑฐ๋ญ์ ๊ณฑ๊ทผ์ ๊ตฌํ๊ธฐ ์ํด์ ๋จ์ ๋ฃจํ๋ฅผ ๋๋ฉด์ ๊ณฑ์ ์ ํ์์ ๋, ๊ทธ ํ์๊ฐ ๋์ด๋ ์๋ก ๊ทน๊ฒฉํ ๋นํจ์จ์ ์ด ๋๋ค.
๋จ์ ๋ฃจํ
for(int i = 0; i < N; i ++) {
P *= P;
}
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก P^N์ ๊ตฌํ๋ฉด O(N)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.
๋ชจ๋๋ฌ ์ ๊ณฑ๊ทผ ์์ ์ฝ๋
public static long power(long P, long N) {
long result = 1;
while(N > 0) {
if(N % 2 == 1) {
result *= P;
}
P *= P;
N /= 2;
}
return result;
}
๋ชจ๋๋ฌ ์ ๊ณฑ๊ทผ์ ์ด์ฉํ๋ฉด O(logN)์ ์๊ฐ ๋ณต์ก๋๋ก ๊ณ์ฐํ ์ ์๋ค.
์ ์ฝ๋๋ 2์ง์์ ์ฌํํธ ์ฐ์ฐ๊ณผ ๊ฐ์ ๋์์ด๋ผ๊ณ ์ดํดํ ์ ์๋ค.
728x90
๋ฐ์ํ