代码拉取完成,页面将自动刷新
同步操作将从 realhuhu/Qt-Crypto 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
struct {
qulonglong x, y;
} g; // 全局变量
//扩展欧几里得算法求最大公约数,计算ax+by=gcd(a,b)的x、y和gcd(a,b)
qulonglong extGCD(qulonglong a, qulonglong b) {
if (b == 0) {
g.x = 1;
g.y = 0;
return a;
}
qulonglong ret = extGCD(b, a % b);
qulonglong t = g.x;
g.x = g.y;
g.y = t - a / b * g.y;
return ret;
}
//求a^-1 (mod m),若不存在逆元则返回1
qulonglong modReverse(qulonglong a, qulonglong m) {
qulonglong gcd = extGCD(a, m);
if (gcd != 1) {
return 0;
} else {
return (g.x + m) % m;
}
}
// 求x^y % mod 的值
qulonglong modPow(qulonglong x, qulonglong y, const qulonglong mod) {
qulonglong res = 1;
while (y) {
if (y % 2) res = (res * x) % mod;
x = (x * x) % mod;
y /= 2;
}
return res;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。