使用递归函数生成x的n次幂的C程序

使用递归函数生成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 4X to the power N = 625

登录后复制

以上就是使用递归函数生成x的n次幂的C程序的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2587575.html

(0)
上一篇 2025年3月6日 15:37:53
下一篇 2025年2月25日 11:46:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论