二分求幂 A的B次方
发布日期:2021-07-22 07:28:50
浏览次数:5
分类:技术文章
本文共 335 字,大约阅读时间需要 1 分钟。
一、方法
将a的b次转换为若干个a的2^k次的积,并尽可能减少分解结果的个数,即求b的二进制数,再对对应为1的位进行累乘得到结果。
因为求幂结果可能很大,所以要根据情况调整结果的类型。二、代码
int a, b; int ans = 1; //保存最终结果,初值为1 cin >> a >> b; while (b != 0) { //b不为0,即对b转换二进制未结束 if (b % 2 == 1) { //当前位为1,需要累成a的2^k次至ans,2^k为当前位权重 ans *= a; } b /= 2; a *= a; //求下一位二进制位权重,从a的1次开始,一次求a的2次,a的4次…… } cout << ans;
转载地址:https://blog.csdn.net/m0_45689014/article/details/113175925 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月08日 15时58分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【比赛篇】TinyMind人民币面值 - 热身赛
2019-04-26
卷积神经网络交通标志识别
2019-04-26
【实战】深度学习构建人脸面部表情识别系统
2019-04-26
Python机器学习&数据分析-关联规则
2019-04-26
【实战】kaggle猫狗大战-卷积神经网络实现猫狗识别
2019-04-26
01 计算机视觉-opencv图像基本操作
2019-04-26
02 计算机视觉-opencv阈值与滤波处理
2019-04-26
03 计算机视觉-opencv图像形态学处理
2019-04-26
04计算机视觉-opencv图像梯度处理
2019-04-26
05计算机视觉-opencv边缘检测
2019-04-26
07 计算机视觉-opencv模板匹配
2019-04-26
Word2vec与logging模块_完整代码_CodingPark编程公园
2019-04-26
Auto-Encoder&VAE_完整代码_CodingPark编程公园
2019-04-26
Debug讲解_CodingPark编程公园
2019-04-26
命名实体识别_利用CRF_CodingPark编程公园
2019-04-26
Pycharm使用-取消pytest的办法_CodingPark编程公园
2019-04-26
OpenCV图像处理基础_CodingPark编程公园
2019-04-26
生成个性二维码_CodingPark编程公园
2019-04-26