Shank安装后 不能运行

闲来无事,打打游戏,当别人问你兴趣爱好的时候可以不用再讲打cs这种几乎过时的游戏了,听书shank这款游戏不错,花费一个下午到网上下载个回去装好后不能跑起来,点击过图标之后,提示缺少dll文件,于是乎到网上下载了相应的dll文件解压到system32,再次运行,不提示缺少dll文件,但是依然跑不了,于是又google之,有建议更新一下最新的dx9.0c,解压过后接着点击运行,All is well!这游戏够血腥够刺激好玩,回去再正式的玩一把。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shank算法(也叫Pohlig-Hellman算法)是一种用于解离散对数问题的算法,适用于模数较小的情况。对于模数为素数的情况,可以使用原根来求解离散对数。下面是使用Shank算法解决 $10 \equiv 5^a \mod 47$ 的步骤: 1. 计算模数的欧拉函数 $\varphi(47) = 46$,因为47是素数。 2. 找到模数47的一个原根,我们已知5是模47的一个原根。 3. 由于5是原根,因此对于任意一个 $1 \leq x \leq 46$,都可以表示为 $5^x \mod 47$ 的形式。我们可以通过预处理出 $5^0, 5^1, \ldots, 5^{23}$ 和 $10 \times 5^0, 10 \times 5^1, \ldots, 10 \times 5^{23}$ 的值,然后进行查找。 4. 首先计算模数的质因数分解 $46 = 2 \times 23$。 5. 对于质因子2,我们可以将原方程化为 $10 \equiv (5^2)^{a'} \mod 47$ 的形式,其中 $a' = a \bmod 23$。然后我们可以通过查表的方式找到 $5^0, 5^2, 5^4, \ldots, 5^{22}$ 和 $10 \times 5^0, 10 \times 5^2, 10 \times 5^4, \ldots, 10 \times 5^{22}$ 的值。然后我们可以对于每个 $0 \leq i \leq 11$,找到满足 $10 \times (5^2)^i \equiv 10 \times 5^{2i} \equiv 10 \times 5^{a'} \mod 47$ 的最小的 $i$。设这个最小的 $i$ 为 $i_0$,则 $a' \equiv 2i_0 \mod 23$。 6. 对于质因子23,我们可以将原方程化为 $10 \equiv 5^{a''} \mod 47$ 的形式,其中 $a'' = a' \bmod 2$。然后我们可以通过查表的方式找到 $5^0, 5^1, \ldots, 5^{22}$ 和 $10 \times 5^0, 10 \times 5^1, \ldots, 10 \times 5^{22}$ 的值。然后我们可以找到满足 $10 \times 5^i \equiv 10 \times 5^{a''} \mod 47$ 的最小的 $i$。设这个最小的 $i$ 为 $i_0$,则 $a'' \equiv i_0 \mod 2$。 7. 最后,根据 $a' \equiv 2i_0 \mod 23$ 和 $a'' \equiv i_0 \mod 2$,我们可以得到 $a \equiv 2^{22} \times i_0 + 2^{21} \times (a'' - i_0) \mod 46$。这就是原方程的一个解。 注意,由于模数是一个素数,因此原方程一定存在解。此外,对于模数较小的情况,Shank算法可以快速求解离散对数问题,但对于模数很大的情况,Shank算法并不是最优的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值