博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【POJ - 1995】Raising Modulo Numbers(快速幂)
阅读量:4592 次
发布时间:2019-06-09

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

Descriptions:

题目一大堆,真没什么用,大致题意

Z

M

H

A1  B1

A2  B2

A3  B3

.........

AH  BH

有Z组数据   求(A1B1+A2B2+ ... +AHBH)mod M.

Sample Input

31642 33 44 55 63612312374859 30293821713 18132

Sample Output

21319513

题目链接

 

直接快速幂即可

 

AC代码

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);#define Mod 1000000007#define eps 1e-6#define ll long long#define INF 0x3f3f3f3f#define MEM(x,y) memset(x,y,sizeof(x))#define Maxn 30using namespace std;ll mod;ll ans;int Z,M,H;ll qpow(ll a, ll n)//计算a^n % mod{ ll re = 1; while(n) { if(n & 1)//判断n的最后一位是否为1 re = (re * a) % mod; n >>= 1;//舍去n的最后一位 a = (a * a) % mod;//将a平方 } return re % mod;}int main(){ cin>>Z; while(Z--) { ans=0; cin>>M>>H; mod=M; for(int i=0;i
>a>>b; ans+=qpow(a,b); } ans=qpow(ans,1); cout<
<

 

转载于:https://www.cnblogs.com/sky-stars/p/11210434.html

你可能感兴趣的文章
PCL AllInOne msvc2017 下载
查看>>
电影天堂,批量下载,简单实现
查看>>
oracle 12c 加入系统服务
查看>>
未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序...
查看>>
【转载】《Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子(4.1节) ......
查看>>
如何深入思考
查看>>
用逗号隔开简单数据保存为csv
查看>>
POJ-1860 Currency Exchange SPFA判断环
查看>>
xampp+eclipse环境下使用phpunit
查看>>
python的类和对象(1)
查看>>
一个动态内存管理模块的实现
查看>>
url 编码(percentcode 百分号编码)
查看>>
队列课下作业
查看>>
【一本通】欧拉回路
查看>>
【LeetCode】290. Word Pattern 解题小结
查看>>
DataGrid CollectionViewSource Refresh性能问题
查看>>
数据库字符集(AL32UTF8)和客户端字符集(2%)是不同的
查看>>
关于在CMD中数据库操作中文乱码问题
查看>>
机器学习之路: python 决策树分类DecisionTreeClassifier 预测泰坦尼克号乘客是否幸存...
查看>>
R语言做正态性检验
查看>>