package main

 import (
"fmt"
) //递归形式分治求解
func power(x, m int) int {
if m == {
return
} else {
y := power(x, m/)
y = y * y
if m% != {
y = x * y
}
return y
}
} //迭代形式分治求解, 分析可用到如下图
func power2(x, m int) int {
y :=
var k uint32
for k = ; (m >> k) > ; k++ {
}
k--
for k > {
y = y * y
if (m>>k)% > {
y = y * x
}
k--
}
y = y * y
if m% != {
y = y * x
}
return y
}
func main() {
x :=
m :=
fmt.Println(x, "^", m, power(x, m))
fmt.Println(x, "^", m, power2(x, m))
}


//X的任意M次方,可从X的一次方,开始向上迭代产生,而路径的选择则根据M的二进制表示,来选择唯一路径,

比如X^15, 15的二进制形式为1111, 则选择的路径对应上图中的1111, 其他同理

最新文章

  1. [LeetCode] Gas Station 加油站问题
  2. BestCoder Round #89 02单调队列优化dp
  3. Maven+SSM框架实现简单的增删改查
  4. Centos7 ZooKeeper 安装过程
  5. PAT乙级 1006. 换个格式输出整数 (15)
  6. C++导出文件后缀dll,lib,exp,def
  7. linux下tcpdump命令详解
  8. java学习笔记04--数组
  9. Flood-it!
  10. poj3304计算几何直线与线段关系
  11. elfinder中通过DirectoryStream.Filter实现筛选隐藏目录(二)
  12. 编译部署 Mysql 5.7
  13. HBase应用快速开发
  14. karaf 控制台 常用linux指令(2)
  15. C代码快速构建框架
  16. python新建txt文件,并逐行写入数据
  17. springcloud 入门 3 (服务之间的调用)
  18. [LOJ 6030]「雅礼集训 2017 Day1」矩阵
  19. PAT甲题题解-1091. Acute Stroke (30)-BFS
  20. 鸟哥的Linux私房菜——第十章

热门文章

  1. java.lang.UnsupportedOperationException解决方法!!!
  2. NFS详细分析
  3. 企业级Nginx服务基础到架构优化详解
  4. 启动 ./spark-shell 命令报错
  5. ACE_Svc_Handler 通信原理
  6. JavaScript跨浏览器事件处理
  7. 【Python + Selenium】之JS定位总结
  8. 在Ubuntu下利用Eclipse开发FFmpeg配置小结
  9. 推荐扔物线的HenCoder Android 开发进阶系列 后期接着更新
  10. 如何更好的利用Node.js的性能极限