CODEVS 3500
2024-10-01 03:53:00
题目描述
输入3个数a,b,c,求a^b mod c=?
输入描述
三个数a,b,c
输出描述
一个数,即a^b mod c 的答案。
样例输入
5 10 9
样例输出
4
基本的二进制快速幂,因为任意一个十进制数可以写成一个二进制权展开式,例如10=2^3+2^1
那么a^10=a^(2^3)*a^(2^1),使用位运算,可以使得代码十分简洁
#include <cstdio>
typedef long long LL;
LL fast_cover(LL a,LL b,LL c)
{
LL s=;
while(b)
{
if(b&) s=(s*a)%c;
a=(a*a)%c;
b>>=;
}
return s;
}
int main()
{
LL a,b,c;
while(~scanf("%lld%lld%lld",&a,&b,&c))
{
printf("%lld\n",fast_cover(a,b,c));
}
return ;
}
最新文章
- Atitit 在线支付系统功能设计原理与解决方案 与目录
- Blue tooth
- Xceed Ultimate Suite Xceed界面控件套包下载
- Linux 查看端口占用并杀掉
- 轻松学习Linux之VI编辑器的使用
- hdu 5094 Maze 状态压缩dp+广搜
- JSON和JSONP区别
- redis maxmemory设置
- fckeditor使用详解
- 关于MyEclipse 半天打不开的问题(工作区间损坏)--转
- JVM(一)JVM的基本结构
- charles抓取https请求包
- MacOS下好用的截图软件snip
- 常用命令和sql
- C#与C++数据类型比较及结构体转换[整理]
- TODO 软件测试68题
- UnicodeMath数学公式编码_翻译(Unicode Nearly Plain - Text Encoding of Mathematics Version 3)
- js 将内容复制到剪切板上
- ob_gzhandler — ob_start callback function to gzip output buffer
- maven下的jar项目打包的方法