作业帮 > 综合 > 作业

C语言 递归函数写一个程序关于Power(x,n)= X^n=X*X^(n-1),n和x都是整数,完善这个函数:当n是偶

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 03:36:42
C语言 递归函数
写一个程序关于Power(x,n)= X^n=X*X^(n-1),n和x都是整数,完善这个函数:
当n是偶数是X^n= (X^(n/2))^2,
当n是基数是X^n= X *(x^(n-1))
循环结束,当n=0和x^0=1的时候!
不懂为什么要分奇数偶数 下面是我编的 你可以试试!
#include "stdio.h"
long power(int x,int n)
{
static long v=1;
if(n!=0){n=n-1;v=x*power(x,n);}
else v=1;
return v;
}
void main()
{
long temp=0;
temp=power(2,7);
printf("%ld",temp);
while(1);
}
再问: 是题目要求的。。
再答: 我不知道 题目是画蛇添足 还是故意用2中方式 等下啊 我再写写。。
再问: 要问输入的X,N的值,谢谢啊!
再答: #include "stdio.h"
double power(int x,int n)
{
static double v=1;
if(n%2==1)
{
v=x*power(x,n-1);

}
else 
{
if(n!=0){v=power(x,n/2)*power(x,n/2);}
else v=1;
}
return v;
}
void main()
{
double temp=0;
int x,n;
printf("请输入 x ,n 的值并用逗号分开:\n");
scanf("%d,%d",&x,&n);
temp=power(x,n);
printf("%lf\n",temp);

}