(PARI)v(n,p)=我的(s);n*=2;而(n=p,s+=n%2);秒
是(n)=如果(n%2==0,返回(0));我的(m=Mod(1,n),a=n\2);fordiv(n,d,if(i素数(d)&v(a,d),return(0));对于素数(p=2,a,m*=p^v(a,p));对于素数(p=a+1,n,m*=p);m==(-1)^a
(Perl)#独立值合理,序列缓慢:
使用理论“:all”;
sub是{my$m=($_[0]-1)>>1;(二项式($m<<1,$m)%$_[0])==(($m&1)?$_[0-1:1);}
foroddcomposites{sayif是($)}2e7#达娜·雅各布森2015年5月3日
(Perl)#顺序测试速度更快:
使用数学::GMPz;使用理论“:all”;{my($c,$l)=(数学::GMPz->new(1),1);子加泰罗尼亚语{while($_[0]>$l){$l++;$c*=4*$l-2;数学::GMPz::Rmpz_divexact_ui($c,$c,$1+1);}$c;}}我的$m;foroddcomposites{$m=($_-1)>>1;假设(catalan($m)%$)==(($m&1)?$_-2:2);}2e7#达娜·雅各布森2015年5月3日
|