当前位置: 首页 > news >正文

经典算法 a^b

原题目链接

问题描述

ab 次方对 p 取模的值,即计算:

a^b mod p

输入格式

输入一行,包含三个整数 abp,中间用空格隔开。


输出格式

输出一个整数,表示 a^b mod p 的值。


数据范围

  • 0 ≤ a, b ≤ 10^9
  • 1 ≤ p ≤ 10^9

输入样例

3 2 7

输出样例

2

c++代码

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

ll mypow(ll a, ll b, ll p) {
    if (b == 0) return 1 % p;
    if (b == 1) return a % p;
    __int128_t k = mypow(a, b / 2, p);
    if (b % 2 == 0) return (k * k) % p;
    else return (k * k * a) % p;
}

int main() {
    long long a, b, p;
    cin >> a >> b >> p;
    cout << mypow(a, b, p);
    return 0;
}//by wqs

相关文章:

  • FreeRTOS 软件定时器工作原理及应用
  • 【嵌入式学习5】PyQt布局- 信号和槽 - 按钮 - 对话框 - 面向对象
  • 无招回归阿里
  • Linux系统线程
  • es中节点类型有哪些
  • npm 项目命名规则
  • innodb如何实现mvcc的
  • 【JS】使用滑动窗口得到无重复字符的最长子串
  • Linux系统高级IO
  • 还是主题混合程序设计
  • Redash:一个开源的数据查询与可视化工具
  • 如何查看 MySQL 的磁盘空间使用情况:从表级到数据库级的分析
  • YOLOv12 训练从这里开始:LabelImg 标注数据集
  • 详解 MySQL 索引的最左前缀匹配原则
  • 【C语言】内存函数
  • SQLark(百灵连接):一款面向信创应用开发者的数据库开发和管理工具
  • 一周学会Pandas2 Python数据处理与分析-NumPy数组创建
  • 网络建设与运维神州数码DCN 基于流的重定向
  • LVGL修改标签文本,GUI Guider的ui不生效
  • 实验研究:不同物体与落点材质对弹起高度的影响