NC23046 华华教月月做数学

题目

题目描述

找到了心仪的小姐姐月月后,华华很高兴的和她聊着天。然而月月的作业很多,不能继续陪华华聊天了。华华为了尽快和月月继续聊天,就提出帮她做一部分作业。

月月的其中一项作业是:给定正整数 \(A\) 、\(B\) 、\(P\) ,求 \(A^B\mod P\) 的值。华华觉得这实在是毫无意义,所以决定写一个程序来做。但是华华并不会写程序,所以这个任务就交给你了。

因为月月的作业很多,所以有T组询问。

输入描述

第一行一个正整数 \(T\) 表示测试数据组数。

接下来 \(T\) 行,每行三个正整数 \(A\) 、\(B\) 、\(P\) ,含义如上文。

输出描述

输出 \(T\) 行,每行一个非负整数表示答案。

示例1

输入

  1. 2
  2. 2 5 10
  3. 57284938291657 827493857294857 384729583748273

输出

  1. 2
  2. 18924650048745

备注

\(1\le T\le10^3\) ,\(1\le A,B,P\le10^{18}\)

题解

思路

知识点:快速幂,龟速乘。

一眼快速幂。注意到,模数是超 \(int\) 的,乘法以后会超 \(long \ long\) 因此用龟速乘(或者 \(\_ \_ int128\) QWQ)。

时间复杂度 \(O(logB)\)

空间复杂度 \(O(1)\)

代码

  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. using namespace std;
  4. ll qmul(ll a, ll b, ll p) {
  5. ll ans = 0;
  6. while (b) {
  7. if (b & 1) ans = (ans + a) % p;
  8. b >>= 1;
  9. a = (a << 1) % p;
  10. }
  11. return ans;
  12. }
  13. ll qpow(ll a, ll k, ll p) {
  14. ll ans = 1;
  15. while (k) {
  16. if (k & 1) ans = qmul(ans, a, p);
  17. k >>= 1;
  18. a = qmul(a, a, p);
  19. }
  20. return ans;
  21. }
  22. bool solve() {
  23. ll a, b, p;
  24. cin >> a >> b >> p;
  25. cout << qpow(a, b, p) << '\n';
  26. return true;
  27. }
  28. int main() {
  29. std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  30. int t = 1;
  31. cin >> t;
  32. while (t--) {
  33. if (!solve()) cout << -1 << '\n';
  34. }
  35. return 0;
  36. }

NC23046 华华教月月做数学的更多相关文章

  1. 牛客网 牛客小白月赛12 B.华华教月月做数学-A^B mod P-快速幂+快速乘

    链接:https://ac.nowcoder.com/acm/contest/392/B来源:牛客网 华华教月月做数学 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  2. B.华华教月月做数学

    链接:https://ac.nowcoder.com/acm/contest/392/B 题意: 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天.然而月月的作业很多,不能继续陪华华聊天了.华华为了尽 ...

  3. 牛客练习赛46 A 华华教奕奕写几何 (简单数学)

    链接:https://ac.nowcoder.com/acm/contest/894/A 来源:牛客网 华华教奕奕写几何 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K ...

  4. 牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)

    链接:https://ac.nowcoder.com/acm/contest/392/C 来源:牛客网 华华给月月出题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K, ...

  5. 牛客小白月赛12 J 月月查华华的手机(序列自动机)

    ---恢复内容开始--- 题目来源:https://ac.nowcoder.com/acm/contest/392/J 题意: 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机. ...

  6. Newcoder 华华给月月出题(线筛)题解

    题目描述: 华华刚刚帮月月完成了作业.为了展示自己的学习水平之高超,华华还给月月出了一道类似的题: Ans=⊕Ni=1(iNmod(109+7))Ans=⊕i=1N(iNmod(109+7)) ⊕⊕符 ...

  7. E.华华给月月准备礼物

    链接:https://ac.nowcoder.com/acm/contest/392/E 题意: 二月中旬虐狗节前夕,华华决定给月月准备一份礼物.为了搭建礼物的底座,华华需要若干根同样长的木棍.华华手 ...

  8. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  9. 牛客小白月赛12 J 月月查华华的手机 (序列自动机模板题)

    链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇 ...

随机推荐

  1. 20202127 实验二《Python程序设计》实验报告

    20202127 2021-2022-2 <Python程序设计>实验二报告 课程:<Python程序设计>班级: 2021姓名: 马艺洲学号:20202127实验教师:王志强 ...

  2. python学习-Day22

    目录 今日内容详细 hashlib加密模块 什么是加密 加密算法 加密的使用 基本使用 指定算法(md5) 将明文数据传递给算法对象 获取加密之后的密文数据 加密补充 加盐处理 动态加盐 加密应用场景 ...

  3. XCTF练习题---MISC---适合作为桌面

    XCTF练习题---适合作为桌面 flag:flag{38a57032085441e7} 解题步骤: 1.观察题目,下载附件 2.拿到题目以后是一张图片,切换一下通道,发现一张二维码,使用QR进行翻译 ...

  4. MAC 地址为什么不需要全球唯一

    MAC 地址(Media access control address)是分配给网络接口控制器(Network interface controller, NIC)的唯一标识符,它会在网络段中充当网络 ...

  5. HCNP Routing&Switching之RSTP

    前文我们了解了vlan优化,vlan聚合技术super vlan相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16208997.html:今天我们来聊 ...

  6. 移动应用开发迎来哪些新技术?5月24日相约HDD·线上沙龙·创新开发专场

    HUAWEI Developer Day(简称HDD),是华为开发者联盟与广大开发者深度交流的平台.围绕移动终端的最新技术和产品形态,持续向广大开发者传递华为终端的最新产品和开放服务能力,结合最新的行 ...

  7. 445. Add Two Numbers II - LeetCode

    Question 445. Add Two Numbers II Solution 题目大意:两个列表相加 思路:构造两个栈,两个列表的数依次入栈,再出栈的时候计算其和作为返回链表的一个节点 Java ...

  8. 120_PowerBI堆积瀑布图_R脚本Visual

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.效果 二.data 三.添加字段 注意红色框标注地方 四.code # 下面用于创建数据帧并删除重复行的代码始终执行, ...

  9. 记 iTextSharp 提取中文的问题

    原文 问题 下面的代码中 currentText 能提取到大部分汉字 但是字体为 Non-Embedded Font: AdobeSongStd-Light(Horizontal) 的汉字提取不到 P ...

  10. awk-文本处理【中文手册版】

    01. 简介 AWK是一个文本(面向行和列)处理工具,同时它也是一门脚本语言. AWK其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernigha ...