LeetCode每日一题——Pow(x, n)

题目要求:

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。

示例 1:

复制代码
输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:

复制代码
输入:x = 2.10000, n = 3
输出:9.26100

示例 3:

复制代码
输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

代码实现:

double myPow(double x, int N) {

double ans = 1;

long long n = N;

if (n < 0) { // x^-n = (1/x)^n

n = -n;

x = 1 / x;

}

while (n) { // 从低到高枚举 n 的每个比特位

if (n & 1) { // 这个比特位是 1

ans *= x; // 把 x 乘到 ans 中

}

x *= x; // x 自身平方

n >>= 1; // 继续枚举下一个比特位

}

return ans;

}

作者:灵茶山艾府

来源:力扣(LeetCode)

坚持编程,我一直在路上!

相关推荐
csdn_aspnet7 小时前
分享MATLAB在数据分析与科学计算中的高效算法案例
算法·matlab·数据分析
白云千载尽7 小时前
moveit使用和机器人模型与状态--正向运动学和逆向运动学分析(四)
算法·机器人·逆运动学·moveit·正向运动学
我想吃余7 小时前
【0基础学算法】前缀和刷题日志(三):连续数组、矩阵区域和
算法·矩阵·哈希算法
perseveranceX7 小时前
插入排序:扑克牌式的排序算法!
c语言·数据结构·插入排序·时间复杂度·排序稳定性
2501_938773998 小时前
文档搜索引擎搜索模块迭代:从基础检索到智能语义匹配升级
人工智能·算法·搜索引擎
CS创新实验室8 小时前
典型算法题解:长度最小的子数组
数据结构·c++·算法·考研408
我有一些感想……8 小时前
浅谈 BSGS(Baby-Step Giant-Step 大步小步)算法
c++·算法·数论·离散对数·bsgs
麦麦大数据8 小时前
F042 A星算法课程推荐(A*算法) | 课程知识图谱|课程推荐vue+flask+neo4j B/S架构前后端分离|课程知识图谱构造
vue.js·算法·知识图谱·neo4j·a星算法·路径推荐·课程推荐
贝塔实验室8 小时前
LDPC 码的度分布
线性代数·算法·数学建模·fpga开发·硬件工程·信息与通信·信号处理