![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
小李@飞刀
高一信息学奥赛
QQ:2243037767
展开
-
快速乘
不到万不得已不能写的一个东西具有精度误差代码:#define ll long long#define ld long doublell Quick_Times(ll b,ll p,ll k){ return (b*p-(ll)((ld)b/k*p)*k+k)%k;}原创 2019-08-21 10:25:22 · 239 阅读 · 0 评论 -
龟速乘(防爆)
输入b,p,k的值,求b^p mod k的值。其中b,p,k为长整型数。还是在这个题干,只是做了小小的变动 k 的取值变了当k>1e9 时,普通的快速幂直接乘爆所以来一点小小的优化将乘法转化一下ab=a+a+a+a+a+…+a;当a为偶数 :a(b/2)+a*(b/2)当a为奇数 :a*(b/2)+a*(b/2)+a;(像极了快速幂)代码如下:#include<bi...原创 2019-08-21 09:56:41 · 831 阅读 · 0 评论 -
快速幂(取模运算)
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。直接暴力O(p),p为长整型可能会超时可以采用分治的思想当p为偶数时 b^p = b ^(p/2) * b^(p/2)当p为奇数时 b^p = b^(p/2) * b^(p/2) * b //(b/2)向下取整代码如下:#include<bits/stdc++.h>using namespac...原创 2019-08-21 09:36:58 · 333 阅读 · 0 评论