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

使网站有流量上海 网站工作室

使网站有流量,上海 网站工作室,长沙域名注册,网站开发职能前言 幂运算为常见的数学运算#xff0c;形式为 a b a^b ab #xff0c;其中a为底数#xff0c;b为指数#xff0c; 力扣中#xff0c;幂运算相关的问题主要是判断一个数是不是特定正整数的整数次幂#xff0c;以及快速幂的处理。 1.求2的幂 力扣231题#xff0c;给…前言 幂运算为常见的数学运算形式为 a b a^b ab 其中a为底数b为指数 力扣中幂运算相关的问题主要是判断一个数是不是特定正整数的整数次幂以及快速幂的处理。 1.求2的幂 力扣231题给你一个整数 n请你判断该整数是否是 2 的幂次方。如果是返回 true否则返回 false 。 分析第一种方法是我们可以用通过逐渐缩小n值来判断是否是2的幂次方只需要循环用除的方法就可以了还需要判断一下n是否是正整数如果不是就直接返回false。第二种方法是位运算如果n是2的幂次方那么n的二进制表示就只有一个1如果存在非负整数 k 使得 n 2 k n2^k n2k则 n 的二进制表示为 1 后面跟 k 个0比如n4其二进制表示为 ( 0100 ) 2 (0100)_2 (0100)2​,n-1也就是3的二进制表示则为 ( 0011 ) 2 (0011)_2 (0011)2​ 使用位运算n (n - 1)如果结果为0就说明n是2的幂次方否则不是。 代码如下 /*** 采用除法* param n {number}* return {boolean}* */ function isPowerOfTwo(n) {if (n 0) {return false;}// 这里2可以替换为任意正整数m就是计算m的幂次方while (n % 2 0) {n parseInt(n / 2);}if (n 1) {return true;} else {return false;} }/*** 采用位运算* param n {number}* return {boolean}* */function isPowerOfTwo(n) {if (n 0) {return false;}// 如果存在非负整数 k 使得 n2^k则 n 的二进制表示为 1 后面跟 k 个0return n (n - 1) 0; }拓展知识采用循环除法的方法中2可以替换为任意正整数m就是计算m的幂次方。 2.求3的幂 力扣326题 给定一个整数写一个函数来判断它是否是 3 的幂次方。如果是返回 true 否则返回 false 。整数 n 是 3 的幂次方需满足存在整数 x 使得 n 3 x n 3^x n3x 分析用除法思路与上题一样。这里说一下还可以用位运算的解决办法。我们知道 3 0 1 , 3 1 3 , 3 2 9 , . . . , 3 19 1162261467 3^01,3^13,3^29,...,3^{19}1162261467 301,313,329,...,3191162261467 ,在最大正整数范围之内如果是3的幂就一定是1162261467的除数。 代码如下 function isPowerOfThree(n) {if (n 0) {return false;}// 2^31 - 1内最大的3的幂为3^191162261467,只要n为1162261647的除数就说明是3的幂次方return (1162261467 % n) 0; }3.求4的幂 力扣342 题给定一个整数写一个函数来判断它是否是 4 的幂次方。如果是返回 true 否则返回 false 。整数 n 是 4 的幂次方需满足存在整数 x 使得 n 4 x n 4^x n4x 。 分析第一种方法还是可以用循环除法。第二种方法就是位运算这种方法可以在求2的幂的位运算解法进一步得出 4 k 4^k 4k其实就是 2 2 k 2^{2k} 22k 2的偶数次幂,判断二进制表示中1的位置是否出现在从低位开始的第偶数位上即可,这里规定最低位为第0位。比如n16,其二进制表示为 ( 00010000 ) 2 (00010000)_2 (00010000)2​1的位置为第4位。创建一个32位有符号整数 ( 10101010101010101010101010101010 ) 2 (10101010101010101010101010101010)_2 (10101010101010101010101010101010)2​让其偶数为0奇数位为1与n进行位与运算如果结果为0说明n为4的幂次方数否则不是。为了使代码更简洁还可以将创建的32位有符号整数用16进制表示即 ( a a a a a a a a ) 16 (aaaaaaaa)_{16} (aaaaaaaa)16​ , 也就是0xaaaaaaaa 代码如下 function isPowerOfFour(n) {if (n 0) {return false;}return (n (n - 1)) 0 (n 0xaaaaaaaa) 0; }
http://www.pierceye.com/news/739278/

相关文章:

  • 谁有网站推荐一下好安阳刚刚发生的事
  • 博客网站快速排名临邑县住房和城乡建设局网站
  • 二手网站建设方案营销网站建设服务平台
  • 遵化建设局网站濮阳新闻综合频道
  • 百度云如何做网站论文网站建设与运营
  • 网站开发环境实验报告注册公司流程和费用是多少
  • 下载一个网站学院网站建设的作用
  • 济南专业网站优化花西子的网络营销策略
  • 武城网站建设费用网页设计试题及答案
  • 郑州外贸网站建设公司搜索引擎排名的三大指标
  • 温州专业微网站制作电台 主题 wordpress
  • wordpress做网站过程阳江网上车管所
  • 网站抓取qq上海自贸区注册公司流程
  • 深圳网站设计推荐刻烟台制作网站有哪些
  • 网站注册系统源码卢松松博客源码 wordpress博客模板
  • 网站开发进阶实训报告廊坊安次区网站建设公司
  • jquery插件网站推荐打开网站自动跳转代码
  • 佛山顺德容桂网站制作写作平台
  • 网站源码下载pdf文件品质好房
  • 山网站建设长沙网站开发湖南微联讯点不错
  • 网站建设的方案模板邢台123今天的招聘信息
  • 一个网站做app网站如何做收款二维码
  • 济南seo网站优化网站开发源代码 百度文库
  • 东西湖区建设局网站制作网站需要钱吗
  • 自己买服务器能在wordpress建网站欧美色影网站
  • 网站支付页面设计金华企业网站建设公司
  • wordpress评论模块临沂seo网站管理
  • 四川法制建设网站产品推广步骤
  • 服务器 网站建设比较容易做流量的网站
  • 网站建设基础实训报告天津滨海新区地图全图