B. 古代密码

    传统题 1000ms 256MiB

古代密码

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

古代密码

题目背景

在一次考古发掘中,噜噜和一只羊发现了一卷古老的羊皮卷。羊皮卷上记载了一种奇特的加密方法,用于在古代战争中传递秘密信息。这种方法被称为“乘方取模加密法”。

加密规则如下:将一个原始数(称为“底数” AA)自乘 B1B-1 次,得到它的 BB 次方,然后将这个结果对一个特定的数(称为“模数” PP)取余数,最终得到的余数就是加密后的密文。

“一只羊”对这种古老的智慧非常着迷,它想请聪明的噜噜帮它实现一个计算器,来快速算出任意给定底数、指数和模数的加密结果。

问题描述

给定三个整数 A,B,PA, B, P,请你计算 AB(modP)A^B \pmod P 的值。

这里的 AB(modP)A^B \pmod P 表示计算 AABB 次方,然后对 PP 取余数的结果。

输入格式

输入一行,包含三个整数 A,B,PA, B, P,三个数之间用一个空格隔开。

输出格式

输出一个整数,表示 AB(modP)A^B \pmod P 的结果。

样例输入与输出

样例输入 1

2 10 9

样例输出 1

7

样例 1 解释

210=10242^{10} = 10241024(mod9)=71024 \pmod 9 = 7。 (计算过程:1024=9×113+71024 = 9 \times 113 + 7

样例输入 2

3 0 100

样例输出 2

1

样例 2 解释

按照数学约定,30=13^0 = 11(mod100)=11 \pmod {100} = 1

数据规模与约定

  • 对于30% 的数据:0A,P10000 \le A, P \le 1000, 0B1050 \le B \le 10^5
  • 对于另外30% 的数据:0A,P1090 \le A, P \le 10^9, 0B10180 \le B \le 10^{18}。保证 P>1P > 1
  • 对于最后的40% 的数据:0A,P1090 \le A, P \le 10^9, 0B10180 \le B \le 10^{18}。 保证输入的 A,BA, B 为非负整数,PP 为正整数。

「果壳语法杯」ROUND #7 (Div.4)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2025-6-13 18:00
结束于
2025-6-15 19:00
持续时间
2 小时
主持人
参赛人数
19