使用递归函数生成x的n次幂的C程序
问题
计算x的n次方的值,其中x和n都是由用户在运行时输入的
解决方案
使用C编程语言中的递归函数生成x的n次方的值的解决方案如下 −
找到x的n次方的逻辑如下所述 −
//Calling function:
Xpow=power(x,n);
//Called function:
if (n==1)
return(x);
else if ( n%2 == 0)
return (pow(power(x,n/2),2)); /*if n is even*/
else
return (x*power(x, n-1));
登录后复制
算法
参考下面给出的算法,使用递归函数生成x的n次方的值。
步骤1 - 读取长整型变量
步骤2 - 声明函数原型
步骤3 - 调用函数
Xpown=power(x,n) goto step 5
登录后复制
第四步 − 打印 xpown
第五步 − 调用函数
第5.1步 − if (n==1)
第5.1.1步 − return(x)
第5.2步 − Else if (n%2 == 0)
第5.2.1步 − Return (pow(power(x,n/2),2)); /*如果n是偶数*/
第5.3步 − Else
第5.3.1步 − Return (x*power (x, n-1)); /*如果n是奇数*/
程序
以下是使用递归函数生成 x 的 n 次方值的 C 程序 −
#include
#include
void main(){
long int x, n, xpown;
long int power(int x, int n);
printf("Enter the values of X and N:
");
scanf("%ld %ld", &x, &n);
xpown = power (x, n);
printf("X to the power N = %ld
",xpown);
}
/*Recursive function to computer the X to power N*/
long int power(int x, int n){
if (n==1)
return(x);
else if ( n%2 == 0)
return (pow(power(x,n/2),2)); /*if n is even*/
else
return (x*power(x, n-1)); /* if n is odd*/
}
登录后复制
输出
当上述程序被执行时,它产生以下结果 −
Enter the values of X and N:
5 4
X to the power N = 625
登录后复制
以上就是使用递归函数生成x的n次幂的C程序的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!