递归函数实现阶乘

万恶的期中考试和英语四级结束了,终于又能愉快地写博客啦。

函数递归可以执行循环的功能,控制量,初始量,变化量。
return函数的使用,将上一个函数的结果传递给这个函数,明白分步执行的需要完成的是什么,我对函数递归的理解还远远不够,以后多多做这种题

include <stdio.h>

include <math.h>

long long power(int x,int n)
{
if(n0) return 1;//return 语句执行不会执行下面的语句
return xpower(x,n-1);
}
//改进power算法,幂可以写成x的n/2的平方,对于不能整除2的写成x
x的n-1次方,这种算的次数更少
long long power(int x,int n)
{
if(n
0) return 1;
if(n%2==0) return power(xx,n/2);
if(n%2!=0) return x
power(x*x,(n-1)/2);
}

int main()
{
int x,n;
scanf("%d %d",&x,&n);
printf("%ld",power(x,n));
}

posted @ 2020-12-14 23:51  empty_thought  阅读(542)  评论(0)    收藏  举报