求问 Miller-Rabin 素性测试
  • 板块学术版
  • 楼主GI录像机
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/6/23 09:08
  • 上次更新2023/10/27 22:47:33
查看原帖
求问 Miller-Rabin 素性测试
142969
GI录像机楼主2022/6/23 09:08

为什么大佬们的代码中二次探测定理部分找到 ad1(modp)a^{d}\equiv -1(\bmod p) 后就可以确定通过测试啊。

如这位大佬:

typedef unsigned long long ull;
typedef unsigned int word;
bool check(const word a,const ull p){
	ull d=p-1,get=pow(a,d,p);
	if(get!=1) return 1;//特判 d=p-1 的情况
	while((d&1)^1)
		if(d>>=1,(get=pow(a,d,p))==p-1) return 0;//先 d/=2,再计算快速幂
		else if(get!=1) return 1;
	return 0;
}

2022/6/23 09:08
加载中...