|
|
·Î±×Çü O(logN) ¾Ë°í¸®Áò (»ç·Ê 3)
|
|
¡á ºü¸¥ Áö¼ö°è»ê ÇÔ¼ö
|
------------------------------------------------------------- long
int Pow( long int X, unsigned int N) {
if( N == 0
) return 1; if(
N == 1 ) return X; if(
IsEven( N )) return( Pow( X*X, N/2 ));
else
return( Pow( X*X, N/2 ) * X); }
-------------------------------------------------------------
|
|
<trace> °öÇϱâ
¼öÇà 6ȸ
|
Pow(2, 64) ¡æ ¨ç Pow(2*2,
32) ¡æ ¨è Pow(4*4, 16) ¡æ ¨é Pow(16*16,
8) ¡æ
¨ê Pow(256*256, 4) ¡æ ¨ë Pow(216*216,
2) ¡æ ¨ì Pow(232*232,
1)
|
- X64À» for loop(Pow = Pow * X)À¸·Î °è»êÇϸé 64ȸ
°öÇϱ⠼öÇà,
- ºü¸¥ Áö¼öÇÔ¼ö´Â log26¡Ö6ȸ ¼öÇàÀ¸·Î °è»ê,
- ½Â¼ö°¡ 1020À̸é 1020ȸ °ö¼ÀÀ» ÇØ¾ß ÇϹǷΠÄÄÇ»ÅÍ·Î
¼öÇàÀÌ ºÒ°¡´ÉÇÏ´Ù.
- ±×·¯³ª ºü¸¥ Áö¼öÇÔ¼ö´Â 20log10¡Ö64ȸ ¼öÇàÀ¸·Î
°è»êÇÑ´Ù.
- ¿©±â¿¡¼ ¾Ë°í¸®Áò ºÐ¼®ÀÇ Çʿ伺À» ÀÌÇØÇÒ ¼ö
ÀÖ´Ù.
|
|
|