代码上:
/*高效率的取幂运算*/
#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;
}
}
原文链接: https://www.cnblogs.com/wykxldz/p/13191856.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/199527
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!