十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
问题:求 ,为了简化,假设x和n都是大于等于0的整数:
十载的墨竹工卡网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整墨竹工卡建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“墨竹工卡网站设计”,“墨竹工卡网站推广”以来,每个客户项目都认真落实执行。
一般来说 如果直接使用遍历的话,需要运行n次,记为:时间复杂度O(n), Python 实现如下:
返回结果1024是正确的,为了方便观察遍历运算了几次,我们把函数里添加一个计数的变量,每次遍历让他+1:
运行后会依次输出:10 20 30,符合时间复杂度是O(n)
现在来优化一下这个算法:
根据中小学学到的数学知识,我们可以了解到:
易得:
n为偶数时
n为奇数时
转化为Python,使用递归后 可以写出以下内容:
输出结果为:
该算法的时间复杂度为O( )
在python中就有内置函数pow函数表示幂的运算。
1、pow()函数Python的内置函数,它计算并返回x的y次方的值。
2、语法pow(x,y,z)
3、参数x--数值表达式。y--数值表达式。z--数值表达式。
4、返回值返回xy(x的y次方)的值。
5、pow()函数解释pow(x,y):表示x的y次幂。
python中,想要表示a的b次方时,有两种方法:
1,math.pow()这个内置函数
2,**运算符
这两种方法效果是一样的,但是当
b为分数,a为负数:当幂运算符的底数为负数、幂为分数时,Python会抛出ValueError: negative number cannot be raised to a fractional power异常,
这时有两种方法可以解决此问题:
1,底数a正负均可不影响你的算法的话,加一个绝对值就行了即abs(a);
2,如果底数a必须是正、或必须是负的话,需要采用复数进行运算。因此凡是遇到幂为分数的项,都将底数用complex()转换为复数。
推荐学习《python教程》。
pow()函数,是Python的内置函数,它计算并返回x的y次方的值。
import math
math.pow( x, y )
这个函数还有一个用法:
pow(x, y, z)
函数是计算 x 的 y 次方,如果 z 在存在,则再对结果进行取模,其结果等效于 pow(x,y) %z。