素数[n_]:=次数@@Prime[范围[n]]
全部清除[iter]
清除所有[fracPer,vp];
(*p-adic顺序*)
vp[p_?PrimeQ,n_Integer]:=
长度@NestWhileList[#/p&,n/p,整数Q]-1;
(*小数点扩展期*)
fracPer[q_Integer]:=0;
fracPer[q_Rational]:=模块[{den,p2,p5},den=分母[q];
p2=vp[2,den];
p5=vp[5,den];
den=den/2^p2/5^p5;
如果[den==1,0,乘数阶[10,den]]];
iter[{periods_,frac_,n}]:={periods,fracPer[#]},#,n+1}&[
frac*Primarial[n]/EulerPhi[Primarial[1,n-1]]];
第一次压平@
嵌套[iter,{0,Primorial[0]/EulerPhi[Primorial[0]],0},50]
|