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

洛谷 P1226 【模板】快速幂-普及-

题目描述

给你三个整数 a,b,pa,b,pa,b,p,求 ab mod pa^b \bmod pabmodp

输入格式

输入只有一行三个整数,分别代表 a,b,pa,b,pa,b,p

输出格式

输出一行一个字符串 a^b mod p=s,其中 a,b,pa,b,pa,b,p 分别为题目给定的值, sss 为运算结果。

输入输出样例 #1

输入 #1

2 10 9

输出 #1

2^10 mod 9=7

说明/提示

样例解释

210=10242^{10} = 1024210=10241024 mod 9=71024 \bmod 9 = 71024mod9=7

数据规模与约定

对于 100%100\%100% 的数据,保证 0≤a,b<2310\le a,b < 2^{31}0a,b<231a+b>0a+b>0a+b>02≤p<2312 \leq p \lt 2^{31}2p<231

solution

快速幂:将大的幂运算转换为少量的平方和乘法运算

代码

#include "iostream"
#include "algorithm"using namespace std;int main() {long a, b, p;cin >> a >> b >> p;long ans = 1;long x = a;int c = b;while (b) {if (b % 2)ans = (ans * x) % p;x = x * x % p;b /= 2;}printf("%ld^%ld mod %ld=%ld", a, c, p, ans);return 0;
}

结果

在这里插入图片描述

http://www.lryc.cn/news/600832.html

相关文章:

  • 聚焦牛牛道:绿色积分模式如何实现快速发展?
  • Android 蓝牙学习
  • 如何检查服务器数据盘是否挂载成功?
  • Flowable 实战落地核心:选型决策与坑点破解
  • ACO-OFDM 的**频带利用率**(单位:bit/s/Hz)计算公式
  • 【深度学习新浪潮】什么是GUI Agent?
  • java网络请求工具类HttpUtils
  • QUIC协议如何在UDP基础上解决网络切换问题
  • [C/C++内存安全]_[中级]_[再次探讨避免悬垂指针的方法和检测空指针的方法]
  • 蘑菇云路由器使用教程
  • 无需云服务器的内网穿透方案 -- cloudflare tunnel
  • 计数dp(基础)
  • Redis 缓存机制详解:原理、问题与最佳实践
  • Java程序员学从0学AI(六)
  • MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
  • 【LeetCode刷题指南】--队列实现栈,栈实现队列
  • MySQL 8.0 OCP 1Z0-908 题目解析(37)
  • mysql group by 多个行转换为一个字段
  • 数据结构(4)单链表算法题(上)
  • 图解网络-小林coding笔记(持续更新)
  • 期货资管软件定制开发流程
  • write`系统调用
  • 宝塔面板如何升级OpenSSL
  • 哈尔滨←→南昌的铁路要道
  • IC测试之pogo pin学习与总结-20250726
  • 鲲鹏服务器部署Kafka2.8.1
  • 微服务springcloud http客户端feign
  • 【资讯】2025年软件行业发展趋势:AI驱动变革,云原生与安全成核心
  • 【Spring Cloud】微服务学习
  • LeetCode——1717. 删除子字符串的最大得分