快速幂||取余运算(模板)...
2019-04-29 08:49:02来源:博客园 阅读 ()
第二个板子!!!(第一个板子还没发)
有那么一种算法可以让计算a^b变得更快,那就是快速幂。如果直接暴力计算的话需要计算b次。时间蛮长的。
题目描述:
输入a,b.(a,b为整数)计算a^b。
输入输出格式
输入格式:
三个整数a、b。.
输出格式:
输出“a^b=s”
s为运算结果
前提:你需要了解二进制,十进制。位运算的知识(当然也可以没有,万事皆可模拟。)
代码:
//省略...... long long quickpow(int a,int b) { long long ans=1,base=a; while(b!=0) { if(b&1!=0) ans*=base; base*=base; b>>=1; //将b的二进制数向右移一位(相当于将b的二进制数的最后一位抹掉。) } return ans; }
但由于是乘方运算所以即便是long long也容易爆!
input:
2 11
output:
2048
先讲一下(&、>>)位运算.
&:‘&’叫做按位与。作用:把参与运算的两个数对应的二进制相与,只有对应的二进制均为1时,结果的对应位才为1,否则为0。(11)10==(1011)2.
>>:
我们以此输入输出来讲解一下。
a为底数,b为指数。
原文链接:https://www.cnblogs.com/poi-bolg-poi/p/10784919.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 运算符重载 2020-06-10
- C++ new初始化与定位new运算符 2020-05-22
- 前缀和 2020-05-04
- 重载矩阵加法运算 代码参考 2020-04-29
- 重载加法运算符的复数运算 代码参考 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash