首页 > 其他分享 >[随笔] 快速幂

[随笔] 快速幂

时间:2024-05-03 23:45:22浏览次数:22  
标签:return 23 int long ans ksm 随笔 快速

没办法老师让预习,我就只能把我快一年前的快速幂翻出来

不放洛谷了,老师容易窥探>﹏<


 

老师の问题

1.快速幂的原理是什么

每一步都把指数分成两半,而相应的底数做平方运算

2.如果求2的23次方,快速幂的具体过程是什么

∵23=2^0+2^1+2^2+2^4

∴2^23=2^2^0 * 2^2^1 * 2^2^2 * 2^2^4


 

位运算

 1 long long ksm(int n,int x){
 2     int ans=1;
 3     while(x){
 4         if(x&1){
 5             ans*=n;
 6         }
 7         n*=n;
 8         x>>=1;
 9     }
10     return ans;
11 }

 

递归

 1 long long ksm(int n,int x){
 2     if(x==0) 
 3         return 1;
 4     else if (n%2==1){
 5         return ksm(n,x-1)*n;
 6     }
 7     else{
 8         int temp=ksm(n,x/2);
 9         return temp*temp;
10     }
11 }

 

标签:return,23,int,long,ans,ksm,随笔,快速
From: https://www.cnblogs.com/zdrcgubjo-qr/p/18171839

相关文章

  • 如何快速提取出一个文件里面全部指定类型的文件的全部路径
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z打开工具,切换到第五个模块,文件批量复制模块(快捷键:Ctrl+5)点击右边的“搜索添加”按钮,我这里就从我的PS文件夹里面找出全部的jpg图片叭,勾选两项,搜文件,并且搜全部子文件,然后点开始搜索按钮搜索完之后关闭窗口,就......
  • 快速批量重命名文件(夹)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z我这里处理这4个文本,实际可以处理任意数量的文本和文件夹1、打开工具,进入文件批量复制版块2、点击“重命名”3、把要重命名的文件或者文件夹全部拖入进去,这里我把文件改为"文本01.txt、文本02.txt"这样格式......
  • 如何快速的追加文章的内容(在不知道内容的情况下)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z1、打开工具,切换到文章模块下,快捷键:Ctrl+12、新建一个文章做演示,001  3、添加一个内容,就随便写一个  4、保存、关闭  5、在新建的文章上右键,选择追加内容  6、弹出一个窗口,有三种选择,我这里......
  • 个人的一种设想:能否使用元强化学*算法解决路径导航问题 —— 快速的适配于相似结构的
    pathfinding是人工智能领域的一个老问题,随着humanoid的应用火热起来这个问题也随之再度受关注。比较传统的人工智能方法一般都是使用A*这样的启发式的算法,不仅在2D领域同时也在3D(Voxelspace)领域有着较好的表现,不过随着深度学*和强化学*的*些年的快速发展也就有了一些使用深度强......
  • 从嘉随笔<2024-5-2>
    狂玩了一个月,实属惭愧。 爱爱只是一种狂热自恋的投射(罗翔)人们长期处于迎合自我的垂直领域,因而偏见与狭隘就诞生了。世界本是主观与客观的存在,病态的观察往往只带来苍白的认知。所以:痴愚者盲目,自负者执着;爱人者狂热,被爱者冷血。当爱化作憧憬,幻想与现实的差距随之而来......
  • 使用LinkAI创建AI智能体,并快速接入到微信/企微/公众号/钉钉/飞书..
    ​ LinkAI作为企业级一站式AIAgent智能体搭建与接入平台,不仅为用户和客户提供能够快速搭建具备行业知识和个性化设定的AI智能体的能力;还基于企业级场景提供丰富的应用接入能力,让智能体不再是“玩具”,而是真正能够落地应用提升生产力的“工具”。​ 现在,你可以使用LinkAI创建......
  • 一个demo快速理解序列号和反序列化
    一个demo快速理解序列号和反序列化分享一个例子用来快速理解序列化和反序列化其实序列化和反序列化就是为了交换数据,(简单粗暴的理解就是把运行中的对象存进文件里面)importjava.io.*;publicclassMain{publicstaticvoidmain(String[]args)throwsException{......
  • 【Python&文字识别】基于HyperLPR3实现车牌检测和识别(Python版本快速部署)
        闲来无事,想复现一下网上的基于YOLOv5的单目测距算法。然后就突然想在这个场景下搞一下车牌识别,于是就有了这篇文章。今天就给大家分享基于HyperLPR3实现车牌检测和识别。原创作者:RS迷途小书童博客地址:https://blog.csdn.net/m0_56729804?type=blog1、HyperLP......
  • Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
    一、写在开头最近一直在更新《Java成长计划》这个专栏,主要是Java全流程学习的一个记录,目前已经更新到Java并发多线程部分,后续会继续更新;而今天准备开设一个全新的专栏《EfficientFarm》。EfficientFarm:高效农场,期许软件开发工作能够像很多国外的高效农场一般机械化,自动化。拿来......
  • 开源文档预览项目 kkFileView (9.9k star) ,快速入门
    kkFileView是一款文件文档在线预览解决方案,采用流行的SpringBoot框架构建,易于上手和部署。该项目基本支持主流办公文档的在线预览,包括但不限于doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。1Docker部署拉取镜像:#网络环境方便......