码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • P1226 【模板】快速幂||取余运算


    这道题呢会用到一个知识点叫做“快速幂”,那我们先简单认识一下快速幂吧;

    快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。

    把b转换成2进制数

    该2进制数第i位的权为(2^(i-1))

    例如

    a^11=a^(2^0+2^1+2^3)

    11的二进制是1 0 1 1

    11 = 2^3*1 + 2^2*0 + 2^1*1 + 2^0*1

    因此,我们将a^11转化为算a^(2^0)*a^(2^1)*a^(2^3)[1]

    以下为代码:

    int pow3( int a, int b ) 
    {
        int r = 1, base = a;
        while( b != 0 ) 
        {
            if( b & 1 )
            r *= base;
            base *= base;
            b >>= 1;
        }
        return r;
    }

    那么这道题也就只剩下简单的代码啦,话不多说,上程序!

    #include
    using namespace std;
    int qp(int n,int k,int p)
    {
        long long now=n,f=1;
        while(k>1)
        {
            if(k%2==1) k--,f*=now,f%=p;
            if(k) now*=now,now%=p,k/=2;
        }
        return (now*f)%p;
    }
    int main()
    {
        long long a,b,p,s,ans; long long i;
        cin>>a>>b>>p;
        cout<     a%=p; ans=a;
        cout<<" mod "<     return 0;
    }

    那么这期就到这啦,下期再见,拜拜。

  • 相关阅读:
    Gstreamer中pad的链接
    数据库和数据仓库
    mac下vue-cli从2.9.6升级到最新版本
    算法是什么,为什么需要算法
    解决Springboot使用Junit测试时对数据库的修改无效
    [Vulnhub] basic_pentesting_1
    Springboot集成JDBC
    ThreadPoolExecutor 运行源码分析
    恶意代码防范技术笔记(五)
    再见 Xshell ,这款开源的终端工具逼格更高
  • 原文地址:https://blog.csdn.net/zyxtjzys/article/details/126688964
  • 最新文章
  • "MixFormer: Co-Scaling Up Dense and Sequence in Industrial Recommenders" 论文笔记
    Vector 选型与实战:vs OTel / Logstash / Fluentd 全维对比,及统一日志与指标管道的 AWS ECS 落地
    开源分享|用MicroPython 做了个 AI 小鸡,它会长大,还记得我所有的情绪
    5 分钟上手 AgentRun:从注册到第一个 Agent 运行
    transformer进阶之路:#4 attention从如何「工作」到「为何」如此高效
    大模型推理的“两步走”:Prefill 与 Decode 全流程科普详解
    让 FastAPI Agent 思考不阻塞:手把手教你实现异步任务与后台处理方案
    BMAD Story Automator 上手实录:把 5 个待办 Story 交给 AI 自主推进
    自己用 ai 写了个链接 mysql 数据库的 mcp 工具
    用ANTLR实现表达式词法和语法分析器
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号