1056解题报告
来源:互联网 发布:信鸽软件怎么样 编辑:程序博客网 时间:2024/06/07 14:57
快速幂模板
__int64 powhaha(__int64 n,__int64 m)
{
__int64 ans=1;
while(m>0)
{
if(m&1)
{
ans*=n;
}
n*=n;
m>>1;
}
return ans;
}
原理:n n ···n(m个n相乘)
设最后乘积为ans,初始值1;
(ans=1)*n*n*···*n(m个n)
<------<---------------<---------------------|
if(m为偶数),那么可以化为 |
(ans=1)*(n*n)*(n*n)*···*(n*n)(m/2个(n*n)) |
if(m为奇数,把一个n放入ans中) |
(ans=n)*n*n*···*n(m-1个n) | 循环,每次新的n等于原来的n*n,新的m=原来的m/2;
这是m-1为偶数,那么等式就可以简化为 |
(ans=n)*(n*n)*(n*n)*···*(n*n)((m-1)/2个(n*n)) |
|
--------------------->------------------------|
此模板用于求n的m次方
- 1056解题报告
- POJ 1056 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- POJ 1056 解题报告 Trie 树
- Antiprime解题报告
- expr解题报告
- 华容道解题报告
- tju解题报告
- zju1062/pku1095解题报告
- UsacoGate解题报告 --- 序曲
- ZJU 2060 解题报告
- ZJU 1331 解题报告
- 无ARP欺骗嗅探技术
- Java 迭代器
- 浅析IAR环境下Flash loader工作原理
- C#把DataGridVIew数据导出到Excel函数代码
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- 1056解题报告
- gif编解码原理
- 安装cx_Oracle和连接测试
- 学习笔记1:不能用字符串给字符数组赋值
- php 生成 excel
- Kafka的Log存储解析
- 图片拼接有黑边的问题
- setup docker private repository
- 缓冲区与memcpy