自己写一个pow()函数
问题:请自己动手写一个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()函数相关推荐
- 编写一个C程序,实现以下功能:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char *p1,char *p2);设p1指向字符串s
题目描述: 编写一个C程序,实现以下功能: 用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为: int strcmp(char *p1,char *p2); 设p1指向字符串s ...
- 自己写一个strcmp函数(C++)
题目说明: 写一个函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp( char * p1, char * p2); 设p1指向字符串s1,p2指向字符串s2.要 ...
- 写一函数,实现两个字符串的比较。即自己写一个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 ...
- (C语言)写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2)
写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2);设p1指向字符串s1,p2指向字符串s ...
- 自己动手写一个strlen()函数
strlen()函数: strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回 ...
- 写一个rtrim()函数消除字符串后面的空格字符。编main函数调用测试它。
写一个rtrim()函数消除字符串后面的空格字符.编main函数调用测试它. **提示信息:"请输入一个字符串:" **输出格式要求:"去掉右边的空格后为%s!\n&qu ...
- 手写一个bind函数
我们先看代码,bind 函数的使用方法 function test(a, b, c) {console.log(a, b, c);console.log('this', this)return '我是 ...
- 自己写一个strcmp函数
strcmp是string.h里面的一个库函数,用来比较两个字符串,我们也可以自己写一个, 或许没有库函数那么严谨,但也能基本实现他的用处. #include<stdio.h> int m ...
- 写函数:自己写一个作图函数就是这么简单
函数(function),我们上学的时候一直在学,函数是一种对应关系,提供参数,提供值,得到结果.在生信分析中,函数一直在用,只不过我们使用的是打包的函数,都集成在R包.那么自己写函数可不可以呢,当然 ...
最新文章
- Microsoft patterns practices Enterprise Library released
- js上传文件,上传表单demo 包含后端php
- 重置mysql root密码
- ubuntu设置静态ip地址
- windows svn
- 转:Python: 什么是*args和**kwargs
- control的用法及短语_九上U5(control)微课详解与精练
- hdp对应hadoop的版本_好程序员大数据学习路线分享hadoop的知识总结
- 这才是男朋友该说的话^_^
- 再好好聊聊 HTTP 里的 Cookie | 实用 HTTP
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_1_字符输入流_Reader类FileRead...
- 软件系统现场服务单(模板)
- L1-015 跟奥巴马一起画方块 (15分) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,
- 西门子mag6000接线_西门子(SIEMENS)妙声力系列电磁流量计变送器MAGFLO MAG5000 MAG6000中文使用手册.pdf...
- “同芯至远 共叙未来”2021年simcom芯讯通代理商大会
- 小srf的游戏 题解
- echoServer回显服务器
- Java基本控制流程的理解之输出三角形和乘法表
- 用三角函数计算两个坐标点距离
- 标准成本计算和平均成本计算比较