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)

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

相关推荐
pen-ai2 分钟前
【优化方法】最小二乘:从误差平方到线性与非线性拟合
人工智能·算法·机器学习
君科程序定做36 分钟前
用 IDL 处理高分一号(GF-1 / GF-1B/C/D)数据
c语言·开发语言
Q26433650231 小时前
【有源码】基于机器学习的电信网络诈骗话术语义识别与可视化分析系统 XGBoost算法+Hadoop+Spark
大数据·hadoop·算法·机器学习·spark·毕业设计·课程设计
不会就选b1 小时前
算法日常・每日刷题--贪心<11>
算法·leetcode·职场和发展
多弗朗皮卡丘1 小时前
数据结构6:队列
c语言·数据结构
千里码aicood1 小时前
面向电商冷启动与数据稀疏性的协同过滤算法优化研究
大数据·算法·协同过滤
xxxiugou1231 小时前
双指针解题秘籍:从入门到精通
c语言·数据结构·c++·算法
代码中介商1 小时前
C++ 预约系统实战(一):项目总览与 C/S 架构设计
c语言·开发语言·c++
能源革命1 小时前
TimesFM(Time Series Foundation Model)介绍
算法·能源
猎嘤一号1 小时前
学术训练(一)文献检索与阅读
人工智能·算法·机器学习·科研入门