博客
关于我
a^b
阅读量:414 次
发布时间:2019-03-06

本文共 487 字,大约阅读时间需要 1 分钟。

题目描述

求 a 的 b 次方对 p 取模的值。

输入格式

三个整数 a,b,p ,在同一行用空格隔开。

输出格式

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

数据范围

1≤a,b,p≤\(10^{9}\)
输入样例:
3 2 7
输出样例:
2

大致思路:任何一个数都可以写成

\[n = 2^{p_1} + 2^{p_2} + 2^{p_3} \cdots\]

其中\(p_i\)为非负整数,所以可以利用二分把这题算法复杂度降低到logn

#include 
using namespace std;int main(){ int a, b, p; cin >> a >> b >> p; int res = 1 % p; while (b) { if (b & 1) res = res * 1ll * a % p; a = a * 1ll * a % p; b >>= 1; } cout << res << endl; return 0;}

转载地址:http://qktkz.baihongyu.com/

你可能感兴趣的文章
mysql以下日期函数正确的_mysql 日期函数
查看>>
mysql以服务方式运行
查看>>
mysql优化--索引原理
查看>>
MySQL优化之BTree索引使用规则
查看>>
MySQL优化之推荐使用规范
查看>>
Webpack Critical CSS 提取与内联教程
查看>>
mysql优化概述(范式.索引.定位慢查询)
查看>>
MySQL优化的一些需要注意的地方
查看>>
mysql优化相关
查看>>
MySql优化系列-优化版造数据(存储过程+函数+修改存储引擎)-2
查看>>
MySql优化系列-进阶版造数据(load data statment)-3
查看>>
MySql优化系列-造数据(存储过程+函数)-1
查看>>
MySQL优化配置详解
查看>>
Mysql优化高级篇(全)
查看>>
mysql会员求积分_MySql-统计所有会员的最高前10次的积分和
查看>>
mysql会对联合索性排序优化_MySQL索引优化实战
查看>>
MySQL作为服务端的配置过程与实际案例
查看>>