
快速幂
zfldongcidaci
这个作者很懒,什么都没留下…
展开
-
B - Leading and Trailing ——LightOJ - 1282(快速幂)
题意: 给出两个数,n和k,求n的k次方的前三位和后三位。 分析: 后三位用快速幂取模,模为1000即可。 前三位:一个数可以写成n=10^a,则n^k=10^ak=10^(a+b),其中,a是小数且a=log10(n)。ak的整数部分a代表了n^k的位数,小数部分b决定了它的值。下面介绍一下fmod函数。功能:计算x/y的余数 说明:返回x-n*y,符号同y。 fmod还可以计原创 2017-07-23 10:35:32 · 194 阅读 · 0 评论 -
快速幂算法
参考:http://blog.youkuaiyun.com/jiange_zh/article/details/50684528实现原理:当n较大时,可使用快速幂: **若n为偶数, base^n = base^(n/2) * base^(n/2); 若n为奇数, base^n = base * base^((n-1)/2) * base^((n-1)/2);**递归代码:double PowerWith转载 2017-07-23 09:40:51 · 246 阅读 · 0 评论 -
矩阵快速幂优化菲波那切数列
对于矩阵乘法与递推式之间的关系:如:在斐波那契数列之中f[i] = 1*f[i-1]+1*f[i-2] f[i-1] = 1*f[i-1] + 0*f[i-2];即所以 主要代码:const int Mod = 998244353; //定义矩阵结构体 class Matrix { public: long long a[2][2]; Matrix() { mem原创 2017-09-10 16:28:19 · 271 阅读 · 0 评论