使用递归函数生成 x 次方 n 的值的 C 程序
问题
计算xn的值,其中x和n都是用户在运行时给出的输入
解决方案
使用C语言中的递归函数生成x幂n的值的解决方案如下-
下面提到了找到xn的逻辑-
//调用函数: Xpow=power(x,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));
算法
参考下面给出的算法,使用递归函数生成x幂n的值。
步骤1-读取longint变量
第2步-声明函数原型
步骤3-调用函数
Xpown=power(x,n) goto step 5
第4步-打印xpown
步骤5-调用函数
步骤5.1-如果(n==1)
步骤5.1.1-return(x)
步骤5.2-否则如果(n%2==0)
步骤5.2.1-返回(pow(power(x,n/2),2));/*如果n是偶数*/
步骤5.3-其他
步骤5.3.1-返回(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: \n"); scanf("%ld %ld", &x, &n); xpown = power (x, n); printf("X to the power N = %ld\n",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