取冪運算--C語言描述

我有顆小粒的痣發表於2017-10-25

程式碼上:

/*高效率的取冪運算*/

#include<stdio.h>
long int Pow( long int X, unsigned int N );//取冪函式
bool IsEven( unsigned int N );//判斷偶數函式

int main()//主函式入口
{
	printf("%ld\n", Pow( 5, 2));//測試
	
	return 0;
}
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;
	}
}
bool IsEven( unsigned int N ){//判斷引數是否為偶數
	if( N % 2 == 0){
		return true;
	}
	else{
		return false;
	}
}


相關文章