二分法

//计算n的k次方一种更节省时间的算法
#include<stdio.h>
int power(int n,int k)
{
int x;
if(k==1)
return n;
x=power(n,k/2);
if(k%2==0)
return x*x;
else
return  x*x*n;
}


int main()
{
int s,n,k;
while(~scanf("%d%d",&n,&k))
{
s=power(n,k);
printf("%d\n",s);
}

你可能感兴趣的:(二分法)