首页 > 后端开发 > C++ > 正文

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

PHPz
发布: 2023-08-25 22:33:09
转载
3178人浏览过

使用递归函数生成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 <stdio.h>
#include <math.h>
void main(){
   long int x, n, xpown;
   long int power(int x, int n);
   printf("Enter the values of X and N: </p><p>");
   scanf("%ld %ld", &x, &n);
   xpown = power (x, n);
   printf("X to the power N = %ld</p><p>",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程序的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号