快速幂笔记

快速幂即为快速求出一个数的幂,这样可以避免TLE(超时)的错误。

传送门:快速幂模板

前置知识:

1)

\because a * a= a^{2}

\because a^{2} * a^{2} = a^{4}

\therefore a^{...} = a^{2^{n}}

2) a^{x} \times a^{y} = a^{x + y}


代码:

#include <bits/stdc++.h>
using namespace std;
int quickPower(int a, int b) {
    int ans = 1, base = a; 
    //base 为a的2次方的n次方
    while(b > 0) {
        //如果b的二进制表示下是1
        if(b & 1) ans *= base;
        //把base变为a的2次方的(n+1)次方
        base *= base;
        //删掉二进制b的最后一位数
        b >>= 1;
    }
    return ans;
}
int main() {
    int a, b;
    cin >> a >> b;
    cout << quickPower(a, b);

    return 0;
}

最后膜一波学委大佬(

相关推荐

  1. 快速 FastPower

    2024-05-04 19:24:03       45 阅读
  2. 【算法】数论---快速

    2024-05-04 19:24:03       42 阅读
  3. 【数论】矩阵快速

    2024-05-04 19:24:03       30 阅读
  4. 快速算法详解

    2024-05-04 19:24:03       18 阅读
  5. P1226 快速

    2024-05-04 19:24:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-04 19:24:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-04 19:24:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-04 19:24:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-04 19:24:03       18 阅读

热门阅读

  1. 关于作者

    2024-05-04 19:24:03       16 阅读
  2. 商业银行终端安全管理创新与实践

    2024-05-04 19:24:03       10 阅读
  3. Service Mesh 是什么?

    2024-05-04 19:24:03       12 阅读
  4. MYSQL从入门到精通(一)

    2024-05-04 19:24:03       13 阅读
  5. 2024系统架构师---测试用例效用树的核心概念

    2024-05-04 19:24:03       14 阅读
  6. TIPS:MySQL按给定时间间隔分组统计

    2024-05-04 19:24:03       12 阅读
  7. python爬虫基础知识

    2024-05-04 19:24:03       15 阅读
  8. mysql binlog入门

    2024-05-04 19:24:03       13 阅读
  9. 深入学习Linux内核 - 进程地址空间

    2024-05-04 19:24:03       12 阅读