|
|
A225316
|
|
a(n) = practical(2^n) where practical(n) is the n-th practical number (A005153).
|
|
1
|
|
|
1, 2, 6, 18, 42, 108, 270, 594, 1350, 3008, 6678, 14620, 31724, 67712, 143792, 305856, 651126, 1377918, 2908308, 6120672, 12848472, 26854938, 55963260, 116389896, 241526012, 500796416, 1037764968, 2147851712, 4440630150, 9176799780, 18946755918, 39092425578, 80569691202
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,2
|
|
COMMENTS
|
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
|
|
MATHEMATICA
|
PracticalQ[n_] := Module[{f, p, e, prod=1, ok=True}, If[n<1||(n>1&&OddQ[n]), False, If[n==1, True, f=FactorInteger[n]; {p, e}=Transpose[f]; Do[If[p[[i]]>1+DivisorSigma[1, prod], ok=False; Break[]]; prod=prod*p[[i]]^e[[i]], {i, Length[p]}]; ok]]]; nextpractical[n1_]:=(m1=n1+1; While[!PracticalQ[m1], m1++]; m1); Table[Nest[nextpractical, 0, 2^n], {n, 0, 20}] (* using T. D. Noe's program A005153 *)
|
|
PROG
|
(Python)
from math import prod
from itertools import count
from sympy import factorint
if n:
c, k = 1, 1<<n
for m in count(2, 2):
f = list(factorint(m).items())
if all(f[i][0] <= 1+prod((f[j][0]**(f[j][1]+1)-1)//(f[j][0]-1) for j in range(i)) for i in range(len(f))):
c += 1
if c == k:
return m
else:
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|