
上QQ阅读APP看书,第一时间看更新
4.3.3 编程实现——判断一个数是否为某数的幂次方

在数学中,求n个相同的数的乘积的运算被称为乘方运算,其运算的结果被称为幂。现在,我们给定一个整数,尝试编写一个函数来判断它是不是4的幂次方。例如,输入16,函数的执行结果为True,输入5,函数的执行结果为False。
本题的解题思路很简单,要判断输入的数是否符合条件,我们只需要将其与4的幂次方不断地进行对比即可,直到找到符合条件的幂次方或者大于原数即结束循环。
示例代码如下:

如上所示,其实题目修改为判断输入数是不是其他数字的幂次方也非常方便,例如将题目中的4的幂次方修改为2的幂次方,只需要将代码中变量s初始化的值修改为2,并在每次累乘时都乘以2即可。更通用一些,我们可以将变量s的值使用参数进行传递,这个函数的功能就更加强大了。