首页 > 试题广场 >

华华教月月做数学

[编程题]华华教月月做数学
  • 热度指数:23 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
找到了心仪的小姐姐月月后,华华很高兴的和她聊着天。然而月月的作业很多,不能继续陪华华聊天了。华华为了尽快和月月继续聊天,就提出帮她做一部分作业。
月月的其中一项作业是:给定正整数A、B、P,求的值。华华觉得这实在是毫无意义,所以决定写一个程序来做。但是华华并不会写程序,所以这个任务就交给你了。
因为月月的作业很多,所以有T组询问。

输入描述:
第一行一个正整数T表示测试数据组数。
接下来T行,每行三个正整数A、B、P,含义如上文。


输出描述:
输出T行,每行一个非负整数表示答案。
示例1

输入

2
2 5 10
57284938291657 827493857294857 384729583748273

输出

2
18924650048745

备注:
头像 19-大数据一班-杨文冠
发表于 2020-01-01 10:11:33
快速幂算法通常用在求  A^B%C 的时候,因为当B足够大的时候 n与logn 的差距就非常巨大了。并且B十分巨大的时候通常我们已经存不下这个数值了。所以一般要对一个C 取模。 如果B十分大,那么有可能会产生a的2^n次方时比 long long 还大。这时就有可能输出负数也就是溢 展开全文
头像 ziuch
发表于 2020-08-21 21:27:53
题目描述 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天。然而月月的作业很多,不能继续陪华华聊天了。华华为了尽快和月月继续聊天,就提出帮她做一部分作业。 月月的其中一项作业是:给定正整数A、B、P,求ABmodPA^B\mod PABmodP的值。华华觉得这实在是毫无意义 展开全文
头像 ThinkofBlank
发表于 2020-05-19 15:51:22
题目大意: 给你三个数A,B,P,求 快速幂模板题/xk 但是,我们注意到,P的值很大,可以达到,所以,我们不能直接打快速幂,我们需要搞个龟速乘进去。 代码: #include<bits/stdc++.h> using namespace std; inline unsigned lon 展开全文
头像 在刷题的单身狗很开心
发表于 2023-09-03 10:07:15
本题考察快速幂算法和快速乘算法,快速幂算法可以正着进行也可以反着进行,在这里采用正着进行倍增的思路。 以2^10为例,其中指数10可以变成二进制1010,也就可以变成2^(2^3)+2^(2^1)。2的出现也就意味着可以使用倍增的思路去求解。 也就是将指数变成二进制进行挨个计算,在计算过 展开全文
头像 迟缓的小章鱼在打卡
发表于 2024-03-13 22:12:25
下面是关于由分治思想衍生的快速幂和快速乘算法的题解 首先,我们提出问题:为什么要用快速幂算法,因为数据太大有可能导致爆数据范围,而且更加重要的一点是当数据越来越大时n与logn的差异越来越显著,然后快速幂算法中的乘法也有爆数据范围的风险,所以我们这里借鉴一下快速幂算法思想,举一反三出快速乘算法,也就 展开全文
头像 sunrise__sunrise
发表于 2020-05-28 21:02:54
快速幂 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天。然而月月的作业很多,不能继续陪华华聊天了。华华为了尽快和月月继续 展开全文
头像 精神病科黄主任
发表于 2020-05-21 17:51:44
快速幂模板题。注意范围很大,可能会超过ull所以在加一个龟速乘防止爆掉 #include<bits/stdc++.h> using namespace std; typedef unsigned long long ll; ll mul(ll,ll,ll); ///快速幂模板 ll po 展开全文
头像 ouk
发表于 2020-09-03 11:54:08
声明:转载请附上出处 先附上代码 long long multi(ll a,ll b,ll p) { long long ans = 0; while (b) { if (b & 1) { ans = (ans 展开全文
头像 xc01
发表于 2025-08-13 18:00:56
模板题,记住算了...想的有点晕 前言:首先要知道(a * b)%p==(a%p)*(b%p)%p; 因为这一题普通乘法用ull会超范围,只能用int128,但是int128要手写输入输出,所以还是用快速幂,快(慢)速乘算了 思路:如3^^5==3^^(0101)==3^^(2^^2+2^^0);然 展开全文
头像 昨晚梦见发财了
发表于 2020-05-19 15:49:56
由于A,B,P很大,所以要用快速幂和快速乘来计算。 注意java选手千万不要用StreamTokenizer输入,要用Scanner,用StreamTokenizer你会一直wa过不了!!!! import java.math.*; import java.io.Buf 展开全文

问题信息

难度:
0条回答 23浏览

热门推荐

通过挑战的用户

查看代码
华华教月月做数学