离散对数(同余理论-BSGS算法)

本文探讨了在同余理论中求解离散对数问题的方法,特别是当p为质数时的模板算法。针对非质数p的情况,也给出了相应的扩展算法模板。该内容对于理解模算术和数论中的这一重要概念非常有帮助。
摘要由CSDN通过智能技术生成

用来求解如下同余方程x的最小正整数解:

a^x \equiv b(mod \,\, p)                          0 \leqslant x < p

p为质数,a、b、p已知,且 0 \leqslant a,b < p (如果a、b大于p,则对他们取模)

模板:(p为素数)

/*********************解法***********************/
 //BSGS算法
 //求 a^x === b(mod p) 中的x值-----------当前p为素数
 //实际运用中用自己的hash表代替map可防TLE
/*********************解法***********************/

LL

LL BSGS(LL a, LL b, LL p){
    a %= p; b %= p;
    map<LL, LL>h;
    
    LL m = ceil(sqrt(p)), x, y, d, t = 1, v = 1;
    f
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值