当前位置: 首页 > news >正文

c语言实现得到某数的某方(n^k)的值

这里也有递归和循环两种方式解决。

一.循环

首先,我们要分三种情况,k大于小于等于0这三种。

当k=0,为1;k>0;我们可以知道,n^k是k个n相乘。所以循环体我们就知道了。当k<0时,它其实是n^(-k)的倒数,所以就解决了。

代码:

#include <stdio.h>
double Pow(double n, int k)
{if (k > 0){for (int i = 1; i < k; i++){n = n * n;}return n;}else if (k < 0){for (int i = 1; i < -k; i++){n = n * n;}n = (1.0 / n);return n;}elsereturn 1;
}
int main()
{double n = 0;int k = 0;scanf("%lf%d", &n, &k);double ret= Pow(n, k);printf("%lf\n", ret);return 0;
}

二.递归

但是,递归的方法是更好的。n^k=n*n^(k-1)。根据这个式子,我们就可以写出递归了。

代码如下:

#include <stdio.h>
double Pow(int n, int k)
{if (k == 0)return 1;else if (k > 0){return n * Pow(n, k - 1);}elsereturn 1.0 / Pow(n, -k);
}
int main()
{int n = 0, k = 0;scanf("%d%d", &n, &k);printf("%lf", Pow(n, k));return 0;
}

 

至此,就介绍完了。

祝:“码”思泉涌,下“指”如有神。 

相关文章:

  • IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!
  • C语言之整型提升
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • mysql使用全文索引+ngram全文解析器进行全文检索
  • 基于SpringBoot的中小型企业质量管理
  • 医院安全(不良)事件报告系统源码 支持二次开发、支持源码交付
  • Postman接口测试工具使用
  • STL——查找算法
  • kubeadm来搭建k8s集群。
  • C++构建简单静态库实例(cmakelist)
  • 【Yii2】数据库查询方法总结
  • 学习体系结构 - AArch64内存管理
  • HTML-基础知识-基本结构,注释,文档说明,字符编码(一)
  • 【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec
  • 记录一下imx6ull linux 5.10.9多点电容触摸屏驱动报错问题解决方法
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【刷算法】从上往下打印二叉树
  • css选择器
  •  D - 粉碎叛乱F - 其他起义
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript创建对象的四种方式
  • java取消线程实例
  • Less 日常用法
  • Nodejs和JavaWeb协助开发
  • Otto开发初探——微服务依赖管理新利器
  • React的组件模式
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 阿里云应用高可用服务公测发布
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 高度不固定时垂直居中
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 解析 Webpack中import、require、按需加载的执行过程
  • 嵌入式文件系统
  • 实战|智能家居行业移动应用性能分析
  • 微服务核心架构梳理
  • 微信公众号开发小记——5.python微信红包
  • 协程
  • 以太坊客户端Geth命令参数详解
  • 原生js练习题---第五课
  • 自定义函数
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (39)STM32——FLASH闪存
  • (4)STL算法之比较
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)计算机毕业设计高校学生选课系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (正则)提取页面里的img标签