f: =proc(n)局部f,t,d,bmin,s,r,b;
F: =系数(n)[2];
d: =igcd(seq(t[2],t=F));
如果d>1,则返回mul(t[1]^(t[2]/d),t=F)fi;
F: =系数(n-1)[2];
d: =igcd(seq(t[2],t=F));
如果d=1,则bmin:=n-1,否则bmin:=mul(t[1]^(t[2]/d),t=F)fi;
对于排序中的s(convert(numtheory:-除数(n)减去{1,n},list))do
r: =n/s-1;
F: =因素[2];
d: =igcd(seq(t[2],t=F));
b: =倍数(t[1]^(t[2]/d),t=F);
如果b<bmin且r=b^padic:-ordp(r,b),则bmin:=bfi
od;
bmin;
结束进程:
地图(f,[1..100]美元)#罗伯特·伊斯雷尔2019年12月5日
|