问题:请自己动手写一个pow()函数。

  我们在学习C语言的时候,可能已经接触过pow()函数,它是C语言标准库函数中自带的一个函数,使用的时候只需包含<math.h>就可以了,不需要你自己动手去实现。

  在C语言标准库函数中,pow()函数是这样声明的double pow(double x, double y),其作用就是返回x的y次幂。幂函数的实现还是比较简单的,我们就自己动手写一个:

func challenge(number: Int, power: Int) -> Int {// 对输入的数据进行校验,确保底数和幂指数都是有意义的guard number > 0, power > 0 else { return 0 }// 初始化返回值,默认其值为底数var returnValue = numberfor _ in 1..<power {// 返回值 = 底数 * 底数(一共执行power-1次)returnValue *= number}// 返回最后的结果return returnValue
}challenge(number: 2, power: 3)  // 结果为8

  除了上面那种解决方案之外,还可以使用递归算法,这样看上去可以让代码更简洁:

func challenge1(number: Int, power: Int) -> Int {guard number > 0, power > 0 else { return 0 }// 如果幂指数为1,直接返回底数if power == 1 { return number }// 当幂指数不为1时,直接返回底数的power - 1次方return number * challenge1(number: number, power: power - 1)
}challenge1(number: 2, power: 5)  // 结果为32

自己写一个pow()函数相关推荐

  1. 编写一个C程序,实现以下功能:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char *p1,char *p2);设p1指向字符串s

    题目描述: 编写一个C程序,实现以下功能: 用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为: int strcmp(char *p1,char *p2); 设p1指向字符串s ...

  2. 自己写一个strcmp函数(C++)

    题目说明: 写一个函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp( char * p1, char * p2); 设p1指向字符串s1,p2指向字符串s2.要 ...

  3. 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2。要求当s1=s2

    写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2.要求当s1=s2 ...

  4. (C语言)写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2)

    写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2);设p1指向字符串s1,p2指向字符串s ...

  5. 自己动手写一个strlen()函数

    strlen()函数: strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回 ...

  6. 写一个rtrim()函数消除字符串后面的空格字符。编main函数调用测试它。

    写一个rtrim()函数消除字符串后面的空格字符.编main函数调用测试它. **提示信息:"请输入一个字符串:" **输出格式要求:"去掉右边的空格后为%s!\n&qu ...

  7. 手写一个bind函数

    我们先看代码,bind 函数的使用方法 function test(a, b, c) {console.log(a, b, c);console.log('this', this)return '我是 ...

  8. 自己写一个strcmp函数

    strcmp是string.h里面的一个库函数,用来比较两个字符串,我们也可以自己写一个, 或许没有库函数那么严谨,但也能基本实现他的用处. #include<stdio.h> int m ...

  9. 写函数:自己写一个作图函数就是这么简单

    函数(function),我们上学的时候一直在学,函数是一种对应关系,提供参数,提供值,得到结果.在生信分析中,函数一直在用,只不过我们使用的是打包的函数,都集成在R包.那么自己写函数可不可以呢,当然 ...

最新文章

  1. Microsoft patterns practices Enterprise Library released
  2. js上传文件,上传表单demo 包含后端php
  3. 重置mysql root密码
  4. ubuntu设置静态ip地址
  5. windows svn
  6. 转:Python: 什么是*args和**kwargs
  7. control的用法及短语_九上U5(control)微课详解与精练
  8. hdp对应hadoop的版本_好程序员大数据学习路线分享hadoop的知识总结
  9. 这才是男朋友该说的话^_^
  10. 再好好聊聊 HTTP 里的 Cookie | 实用 HTTP
  11. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_1_字符输入流_Reader类FileRead...
  12. 软件系统现场服务单(模板)
  13. L1-015 跟奥巴马一起画方块 (15分) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,
  14. 西门子mag6000接线_西门子(SIEMENS)妙声力系列电磁流量计变送器MAGFLO MAG5000 MAG6000中文使用手册.pdf...
  15. “同芯至远 共叙未来”2021年simcom芯讯通代理商大会
  16. 小srf的游戏 题解
  17. echoServer回显服务器
  18. Java基本控制流程的理解之输出三角形和乘法表
  19. 用三角函数计算两个坐标点距离
  20. 标准成本计算和平均成本计算比较

热门文章

  1. spotbugs遇到的一些问题以及解决办法举例
  2. 服务器x3650查看硬件日志,查看服务器硬件信息
  3. 子网掩码 快速计算 .因为要牵扯到二进制的变换
  4. 【小程序源码】手持滚动弹幕生成小工具多样化模板
  5. if...if与if...else if的区别
  6. 姐夫面试前半夜睡不着,居然躲在被子里偷偷看这道面试题?
  7. 输入身份证号打印(小实例)
  8. 【ffmpeg】ffmpeg命令工具的使用
  9. java jbk转utf8,将jbk格式的文件转换成utf-8的
  10. 光影切割问题之求解逆序数