reviewed
approved
reviewed
approved
proposed
reviewed
editing
proposed
proposed
approved
editing
proposed
isA354532(n, {lim=256}, {p_lim=1<<32}) = {
my(N=2^n-1);
if(isprime(N), return(0));
isA354532 if(n, {lim=1<<256}, {p_>lim=1<<32}) = if(n==1, return(1)); my(N=2^n-1); if(isprime(N), return(0)); , forprime(p=3, p_lim, if(N%p==0 && !ispsmooth(2*N+p, p), return(0))); my(d=divisors(n)); for(i=1, #d, my(f=factor(2^d[i]-1)[, 1]); for(j=1, #f, if(!ispsmooth(2*N+f[j], f[j], lim), return(0)))); 1 \\ first check if there is a prime factor p <= p_lim of 2^n-1 such that 2*(2^n-1)+p is not p-smooth, then check if 2* (2^n-1)+p is p-smooth for p|2^d-1, d|Nlarge n)
my(d=divisors(n));
for(i=1, #d, my(f=factor(2^d[i]-1)[, 1]); for(j=1, #f, if(!ispsmooth(2*N+f[j], f[j], 1<<lim), return(0)))); 1 \\ then check if 2*(2^n-1)+p is p-smooth for p|2^d-1, d|N
}
proposed
editing
editing
proposed
isA354532(n, {lim=1<<256}, {p_lim=1<<32}) = if(n==1, return(1)); my(N=2^n-1); if(isprime(N), return(0)); forprime(p=3, p_lim, if(N%p==0 && !ispsmooth(2*N+p, p), return(0))); my(d=divisors(n)); for(i=1, #d, my(f=factor(2^d[i]-1)[, 1]); for(j=1, #f, if(!ispsmooth(2*N+f[j], f[j], lim), return(0)))); 1 \\ first check if there is a prime factor p < = p_lim of 2^n-1 such that 2*(2^n-1)+p is not p-smooth, then check if 2*(2^n-1)+p is p-smooth for p|2^d-1, d|N
ispsmooth(n, p, {lim=1<<256}) = if(n<=lim, n==1 || gpf(n) <= p, my(N=n/p^valuation(n, p)); forprime(q=2, p, N=N/q^valuation(N, q)); if((N<=lim && isprime(N)) || N==1, return(N<=p))); 0); \\ check if n is p-smooth, using brute force if n is too large
isA354532(n, {lim_=1<<256}, {p_lim=10001<<32}) = if(n==1, return(1)); my(N=2^n-1); if(isprime(N), return(0)); forprime(p=3, p_lim_p, , if(N%p==0 && !ispsmooth(2*N+p, p), return(0))); my(d=divisors(n)); for(i=1, #d, my(f=factor(N)2^d[, i]-1]); if(#f==[, 1, return(0)]); for(ij=1, #f, if(gpf!ispsmooth(2*N+f[ij])!=, f[ij], lim), return(0)))); 1 \\ first check if there is a small prime factor p <= p_lim_p of 2^n-1 such that 2*(2^n-1)+p is not p-smooth, then check if 2*(2^n-1)+p is p-smooth for p|2^d-1, d|N