当前位置: 首页 > news >正文

快速幂算法 - JS 实现

算法思路:

1. 如果是奇数幂,x * p(x,n-1)

 2.如果是偶数幂,p(x , n/2) * p (x, n/2)

3. 如果n=0 ,返回1

时间复杂度  : O(logN)

具体实现:

function fastPow(x,n){
if(n == 0){
return 1;
}
else if(n % 2 == 1){
return fastPow(x,n-1) * x;
}
else{
var r = fastPow(x,n/2);
return r * r;
}

}

console.log(fastPow(2,100));



相关文章:

  • Ubuntu 9.04试用过程全接触
  • 算法练习--二分搜索哈希表-JS 实现
  • 网友试用Ubuntu 9.04 Beta版的测评
  • WordPress 被注入 Google Analysis Code 的解决办法
  • MongoDb C# Wrapper 类 (MongoDb Driver 1.9)
  • [Windows编程] 监视DLL装载/卸载
  • 那些开发中用到的模式——访问者模式
  • 浏览器的几个感悟
  • 本地配置 MongoDb
  • Symbian下获取GSM Cell信息
  • C# 操作MongoDb 错误Element '_v' does not match any field or property of class XXX
  • 双硬盘双系统WINDOWS XP Ubuntu 的启动设置
  • 使用github 配置bitbucket SSH
  • UltraWebGrid动态生成多表头
  • 服务品牌竞争:3G时代的第二战场
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [译] React v16.8: 含有Hooks的版本
  • 【mysql】环境安装、服务启动、密码设置
  • 10个确保微服务与容器安全的最佳实践
  • Angular数据绑定机制
  • Babel配置的不完全指南
  • flask接收请求并推入栈
  • gulp 教程
  • js写一个简单的选项卡
  • ng6--错误信息小结(持续更新)
  • node 版本过低
  • Python实现BT种子转化为磁力链接【实战】
  • Python学习之路16-使用API
  • spring boot下thymeleaf全局静态变量配置
  • Vue.js 移动端适配之 vw 解决方案
  • webpack入门学习手记(二)
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 近期前端发展计划
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前嗅ForeSpider采集配置界面介绍
  • 网络应用优化——时延与带宽
  • 无服务器化是企业 IT 架构的未来吗?
  • 责任链模式的两种实现
  • 进程与线程(三)——进程/线程间通信
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​批处理文件中的errorlevel用法
  • #pragma once与条件编译
  • #QT(TCP网络编程-服务端)
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • ***检测工具之RKHunter AIDE
  • .gitignore文件_Git:.gitignore
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • @AliasFor注解
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用