#10194. 「一本通 6.1 练习 1」A 的 B 次方(快速求mod模板)

该博客介绍了如何快速计算a的b次方模m的值,解决大整数溢出问题。通过边乘边mod的方法,避免了直接计算a^b可能导致的内存超限。给出了样例输入输出,并提供了基础的代码实现,适用于涉及平方和mod运算的问题。
摘要由CSDN通过智能技术生成

题目描述题目链接点这里

给出三个整数 a,b,m,求 a^bmodm 的值。

【输入格式】

一行三个整数 a,b,m。

【输出格式】

一个整数,表示 a^bmodm 的值。

【样例输入】

2 100 1007

【样例输出】

169

数据范围与提示

对于全部数据,1≤a,b,m≤10^9。

 

思路:mod(就是求余数)快速求mod就是将a^b % c,就是 a的b次方mod c,如果我们将a的b次方求出来再mod,首先,a的b次方会超内存,比如说: 3的10000次方就已经超过int和long long的范围,这自然是不行的,所以我们要定义一个函数,来做到一边乘,一边mod。

举个栗子:  3^4%5=1=81%5=1;这个可以理解的吧,这个就属于全部乘起来再mod,但是再大一点的数,就会内存超限

边乘边mod是什么意思呢? 首先我们先将3^4 拆成 3*3*3*3;那么我们可以先让前面两个3先mod5,9%5=4;接下来我们让mod出来的4乘以下一个3再%5,就是第

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值