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

网站的栏目规划潍坊做网页的公司

网站的栏目规划,潍坊做网页的公司,网站图片的暗纹是怎么做的,建筑工程网上报建网站诚信手册利用乘法求解次幂问题—快速幂 50. Pow(x, n)372. 超级次方 50. Pow(x, n) 题目链接:50. Pow(x, n) 题目内容: 题目就是要求我们去实现计算x的n次方的功能函数,类似c的power()函数。但是我们不能使用power()函数直接得到答案,那…

利用乘法求解次幂问题—快速幂

  • 50. Pow(x, n)
  • 372. 超级次方

50. Pow(x, n)

题目链接:50. Pow(x, n)
题目内容:
在这里插入图片描述
题目就是要求我们去实现计算x的n次方的功能函数,类似c++的power()函数。但是我们不能使用power()函数直接得到答案,那样这道题就失去了考察的意义。
前面提到乘法a*b可以看作是b个a相加,用加法来完成乘法;x的n次方,就是n个x相乘,那么同样可以用乘法来代替次幂计算,我们称之为快速幂。比如5^7,就是7个5相乘,快速幂的过程如下:
在这里插入图片描述
第一轮是乘以5,第二轮乘以5*5,第三轮乘以(5*5)*(5*5),也就是每一轮乘的数都在加倍,这样就能够在log^n的时间复杂度内完成x^n的计算。代码实现如下(C++):


class Solution {
public:double myPow(double x, int n) {//先处理特殊情况if(x == 0) return 0.0;if(x == 1) return 1.0;if(n == 0) return 1.0;bool flage = false;long _n = n;//如果n是负数,x^n = 1/(x^|n|)if(_n < 0){flage = true;_n = -_n;}double ans = 1;double mul = x;//快速幂主体过程while(_n){  if(_n&1)  //如果n末位为1,就乘以mulans *= mul;      mul *= mul; //mul翻倍_n >>= 1; //n右移一位}return flage ? 1.0/ans : ans; //判断是否需要变成倒数}
};

372. 超级次方

题目链接:372. 超级次方
题目内容:
在这里插入图片描述
看起来和上一题是差不多的,但是由于b是一个非常大的正整数,以数组形式给出[1,0,3,4]就表示1034【末位是个位,然后是十位,然后是百位,最前面的是最高位】。其中1 <= b.length <= 2000说明b可以达到10^1999的程度,根本没法用double、long long等数据类型来存储这么大的数,所以在运算过程中也不能直接把b转换成一个数或者每一位转换成一个数,需要其他方法:
在这里插入图片描述
将每一位b[i]的数值b[i]*10^(m-1-i)【其中m是b.length】分解成b[i]和10^(m-1-i)两部分,每次先求a^(10^(m-1-i))得到A,再求A^b[i]。a^(10^(m-1-i))随着i的减小越来越大,但是可以看作是上一轮的A^10。
由于每次次幂结果都要mod 1337,所以结果是不会溢出的,a^(10^(m-1-i))每一次用上一轮的A^10来表示就解决了b很大的问题。另外需要注意的是(a*b) mod k =( (a mod k) * (b mod k) ) mod k。
a^(10^(m-1-i))和A^b[i]以及A^10都用快速幂求解。快速幂过程中根据(a*b) mod k =( (a mod k) * (b mod k) ) mod k加上求模操作。代码如下(C++):

class Solution {
public://快速幂long quick_pow(int a, int n){int ans = 1;int mul = a;while(n){if(n&1)//加上求模操作ans = ( (ans % 1337) * (mul % 1337)) % 1337;//mul也加上求模操作mul = ((mul % 1337) * (mul % 1337)) % 1337;n>>=1;}return ans;}int superPow(int a, vector<int>& b) {int ans = 1;        for(int j = b.size() - 1; j >= 0; j--){ans =( (ans % 1337) * (quick_pow(a,b[j]) % 1337) ) % 1337;//每次a都在上一次的基础上,变成其10次方a = quick_pow(a, 10);}return ans;}
};
http://www.yayakq.cn/news/949929/

相关文章:

  • 搜索引擎网站建设公司支付宝网站开发文档
  • 中文网站域名广州注册公司必看
  • 表白网站制作网站的建设费用预算策划书
  • 网站美工培训怎么查询网站开发公司
  • 福田网站建设设计公司小兽wordpress编辑器
  • 网站开发历史国家商标注册查询网官网
  • 电子商务网站推广论文施工企业会计分录
  • 手机网站地址网站保姆-源码下载
  • 工作感悟防疫优化措施
  • 保定投递网站建设网上卖东西怎么卖
  • 公司做网站 优帮云网页历史记录在哪里
  • 网站域名最便宜网站做icp备案有哪些好处
  • 广州的网站建设公司哪家好青岛建筑网
  • 重庆网站推广服务咖啡店网站模板
  • 商务网站建设的一般流程是什么电子商务网站建设与维护李建忠下载
  • 网站做外链是什么意思2022双11各大电商平台销售数据
  • 网站开发的技术支持如何在网站后台找到死链接
  • php网站开发门槛高吗自己做个网站好还是做别人会员好
  • 如何使用模板网站建设网页现在做网站还有出路吗
  • 网站改版后seo该怎么做网站更改了资料 百度什么时侯来抓取
  • 济宁专业网站建设装饰设计的变形手法有哪些
  • 国外销售网站部门网站 法规制度 建设情况
  • 和硕网站建设网站备案条件
  • 网站开发工作平时做什么网站建设与规划的文献
  • 顾村网站建设企业建设网站哪里好
  • 常州模板网站建设价格域名注册网站搭建
  • xp怎么建设网站关键词网络推广企业
  • 中国农村建设投资有限公司网站公司网站搭建费用
  • ps怎么做网站导航内嵌式广州seo工程师
  • 微信商城网站搭建做外贸怎么网站找客户