题库/Y1264

#Y1264. 计算器

    传统题 难度: 提高 标签>一本通快速幂欧几里得算法互质离散对数BSGS两两互质CRTLucas定理
时间限制1000 ms
内存限制256 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1264 · 计算器

退出在线编程模式
提高 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制256 MiB
通过率—0 / 0 次提交

题目描述

这是一道计算题,你需要计算下面三个算式的值: (1)给定P,y,zP,y,z,求yz mod Py^z\bmod P。 (2)给定P,y,zP,y,z,求满足yx≡z( mod P)y^x≡z(\bmod P)的最小非负整数解。 (3)给定P,y,zP,y,z,求Czy mod PC_z^y\bmod P,其中CzyC_z^y为zz中取yy的组合数。

输入

第一行一个整数NN表示数据组数。 接下来NN行每行四个整数type,y,z,Ptype,y,z,P。typetype表示询问类型,保证type∈{1,2,3}type∈\{1,2,3\}。

输出

对于每组数据输出一行表示答案。对于问题类型(2)若xx不存在则输出“Math Error”(不含引号)。

输入样例

6
2 2 3 4
3 2 7 9
2 1 2 9
3 1 6 7
1 5 3 7
1 9 2 8

输出样例

Math Error
3
Math Error
6
6
1

提示

【数据规模与约定】

测试点问题类型1约定问题类型2约定问题类型3约定
$1\sim 4$问题个数不超过$500$,$y,z,P≤10^9$问题个数为$0$问题个数为$0$
$5\sim 10$问题个数不超过$50$,$y,z,P≤10^3$问题个数不超过$10$,$y,z≤10^3,P≤10^9$
$11\sim 16$问题个数不超过$30$,$y,z,P≤10^9$,$P$为质数问题个数不超过$30$,$y,z≤10^7$,$P≤10^9$,$P$为质数
$17\sim 20$问题个数不超过$50$,$y,z,P≤10^9$问题个数不超过$50$,$y,z≤10^6$,$P≤10^9$
对于100%的数据,若$P$不为质数,且$P = \prod_{i=1}^{k}P_{i}^{a_i}$ ,其中$p_i$是互不相同的质数,保证 $P_i^{a_i}≤10^5$ 。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。