16级第二周寒假作业H题
快速幂(三)
计算( AB)%C
有多组数据
每组数据有三个整数A,B,C 其中1<=A,B,C<2^63 因为有可能要用到unsigned long long(数值范围 0至2^64-1)
这里提示一下:unsigned long long对应输入输出格式 :%I64u
数据约2000组
输出(AB)%C的结果
6 2 8
9 3 7
2 10 23
3 7 57
9223372036854775806 2 9223372036854775807
4
1
12
21
1
思路:首先做这一题你必须了解快速幂,快速幂我自认为讲的不详细,这里就借鉴了大牛们的一篇帖子,极其详细;http://blog.csdn.net/net_assassin/article/details/38640933
但是你会发现快速幂的话有两个地方碰上大数会直接爆unsigned long long:ans = (ans * a) % c; a = (a * a) % c;就是这两个地方,此时我们发现一个特点,这不就是广义快速幂吗??
同上,本人语言能力有限,广义快速幂还是要用大牛的文章来介绍:http://www.cnblogs.com/qswg/p/6336508.html
然后有了这两个我们就可以很好的写出代码了。
献上我low逼的代码:
(unsigned long long对应输入输出格式 :%I64u)
时间:1277MS | 长度:275 |
ll P(ll a, ll b, ll c)
{
ll r=;
a%=c;
while(b>)
{
if(b&)
r=(r+a%c)%c;
a=(a%c+a%c)%c;
b>>=;
}
return r;
}
函数(广义快速幂)
while(b>)
{
if(b%==)
A=P(A, a, c);//将原来是乘法的地方用广义快速幂来解决
b=b/;
a=P(a, a, c);
}
快速幂
16级第二周寒假作业H题的更多相关文章
- 16级第二周寒假作业E题
Home_W的位运算4 TimeLimit:2000MS MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description 给 ...
- 福建工程学院16级第一周寒假作业E题----第七集,奇思妙想
第七集,奇思妙想 ...
- 16级第一周寒假作业F题
Subsequence TimeLimit:1000MS MemoryLimit:65536K 64-bit integer IO format:%lld Problem Description A ...
- FJUT16级第一周寒假作业题解D题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3 第八集,体能训练 TimeLimit:1000MS MemoryLimit:128M ...
- FJUT16级第一周寒假作业题解J题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS MemoryLimit:128M ...
- FJUT16级第一周寒假作业题解I题
涨姿势题3 TimeLimit:1000ms MemoryLimit:128000KB 64-bit integer IO format:%lld Problem Description 涨姿势题就 ...
- FJUT16级第一周寒假作业题解G题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P6 涨姿势题1 TimeLimit:1000MS MemoryLimit:128000K ...
- java第二周的作业
package java第二周学习; import javax.swing.JOptionPane; public class 数学题 { private int a; private int b; ...
- Machine learning 吴恩达第二周coding作业(必做题)
1.warmUpExercise: function A = warmUpExercise() %WARMUPEXERCISE Example function in octave % A = WAR ...
随机推荐
- 让VS2013支持 C# 6.0 语法
还未升级使用VS2015前,又想尝试使用C# 6.0的语言特性,可以用以下方法启用: VS2013中“工具”下选择“程序包管理器控制台”: 选中需要使用C# 6.0的项目,再敲入"Insta ...
- arp_filter的验证,使用net namespace
使用网络命名空间:net namespace 在namespace ns1中增加了两个网卡 sudo ip netns add ns1 sudo ip link add veth0 type veth ...
- ueditor与mvc4中坑 -编辑时显示源码问题
最近一次使用 ueditor 时,在MVC中的修改新闻内容时发现,怎么调用都是编辑器保存下来的源码,代码如下 <script id="ucontent" name=" ...
- CF816E-Karen and Supermarket
题目 Description 今天Karen要去买东西. 一共有 \(n\) 件物品,每件物品的价格为\(c_i\),同时每件物品都有一张优惠券,可以对这件物品减价 \(d_i\) . 使用第 \(i ...
- JavaScript中“&&”和“||”操作符的意义,深入理解和使用场景
一.概念 与其他语言不同,在js中,逻辑运算符可以返回任何类型的数据,不仅仅是true和false. &&和||的返回值是两个操作数的其中一个.即a&&b或者a||b ...
- CF605E Intergalaxy Trips 贪心 概率期望
(当时写这篇题解的时候,,,不知道为什么,,,写的非常冗杂,,,不想改了...) 题意:一张有n个点的图,其中每天第i个点到第j个点的边都有$P_{i, j}$的概率开放,每天可以选择走一步或者留在原 ...
- CSS截取中英文混合字符串长度
<!doctype html> <html> <head> <meta http-equiv="content-type" content ...
- PHP 中的新语法 new static 是个啥意思?
简单通俗的来说, self就是写在哪个类里面, 实际调用的就是这个类.所谓的后期静态绑定, static代表使用的这个类, 就是你在父类里写的static, 然后通过子类直接/间接用到了这个stati ...
- bzoj5055: 膜法师(BIT)
大水题WA了两发T T 记录一下a[i]的前缀和,a[i]*a[j]就是sigma(a[j]*sumi[j-1]) 记录一下a[i]*a[j]的前缀和,a[i]*a[j]*a[k]就是sigma(a[ ...
- 解题:POI 2004 Bridge
题面 小学数奥见祖宗(相信大多数人小学都看过这个玩意 如果你没看过这个问题,第一反应可能是让跑的最快的来回送火把,然而样例已经hack掉了这种做法,更优的做法是让跑的最快的和第二快的来回送火把.然后事 ...