leetcode经典算法——快速幂

news/2024/10/19 2:21:41/

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。
暴力方法肯定是循环循环n次,
每一次*x
在这里插入图片描述
显然此方法遇到大的数字会超时
在这里插入图片描述
那么我们要引进一个思想,快速幂算法
例如: x^97

在这里插入图片描述
我们可以看出,从右向左
每当n为奇数时,就会多乘一次x
例如:x97 = x48 * x48 * x;
当n为偶数时,不需要此操作
x48 = x24 * x24 ;
由于从0~97 遍历的话 我们不知道何时+1;
所以我们选择从97~0递归

在这里插入图片描述
接下来代码实现

double quickly_pow(double x,long long N)
{if(N==0){return 1.00;}else{double y=quickly_pow(x,N/2);return N%2==0?y*y:y*y*x;}
}double myPow(double x, int n)
{long long N=n;return N>0?quickly_pow(x,N):1.0/quickly_pow(x,-N);
}

http://www.ppmy.cn/news/1033249.html

相关文章

8.14 ARM

1.练习一 .text 文本段 .global _start 声明一个_start函数入口 _start: _start标签,相当于C语言中函数mov r0,#0x2mov r1,#0x3cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0stop: stop标签,相当于C语言中函数b stop 跳转到stop标签下的第一条…

探讨uniapp的数据缓存问题

异步就是不管保没保存成功,程序都会继续往下执行。同步是等保存成功了,才会执行下面的代码。使用异步,性能会更好;而使用同步,数据会更安全。 1 uni.setStorage(OBJECT) 将数据存储在本地缓存中指定的 key 中&#x…

海国图志#2:这一周难忘瞬间,吐血整理,不得不看

这里记录每周值得分享的新闻大图,周日发布。 文章以高清大图呈现,解说以汉语为主,英语为辅,英语句子均来自NYTimes、WSJ、The Guardian等权威媒体原刊。 存档时段:20230807-20230813 葡萄牙,雷根戈 一架直升…

DC电源模块减小输入电源与输出负载之间的能量损失

BOSHIDA DC电源模块减小输入电源与输出负载之间的能量损失 随着电子产品的普及,DC电源模块已成为现代电子设备中不可或缺的组成部分。DC电源模块可以将交流电转化为直流电,并根据需要,以适当的电压和电流提供给输出负载。然而,在输…

B树和B+树区别

B树和B树的区别 B树 B树被称为平衡树,在B树中,一个节点可以有两个以上的子节点。B树的高度为log M N。在B树中,数据按照特定的顺序排序,最小值在左侧,最大值在右侧。 B树是一种平衡的多分树,通常我们说m阶…

【MongoDB基础】

目录 一、概述 1.概念 2.相关 2.1 实例 2.2 库 2.3 集合 2.4 文档 2.5 主键 3.特性 4,应用场景 二、安装 1.RPM安装 2.启动数据库 三、目录结构 1.rpm -ql mongodb-org-server 2.rpm -ql mongodb-org-shell 3.rpm -ql mongodb-org-tools 四、默…

EnableAutoConfiguration Attributes should be specified via @SpringBootApplic

在排除数据源加载时,发现这个注解EnableAutoConfiguration(exclude{DataSourceAutoConfiguration.class})会飘红 这是因为在SpringBootApplication中已经有EnableAutoConfiguration注解了; 所以把它改写成以下的格式即可

计算机竞赛 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:3分 🧿 更多资…