OFFSET
1,1
MAPLE
# multiply two ifactor representations [p1, e1], [p2, e2], [p3, e2]
mulif := proc(if1, if2)
local ifr, t, p, e, ix, ifi ;
ifr := if1 ;
for t in if2 do
p := op(1, t) ;
e := op(2, t) ;
ix := 0 ;
for ifi from 1 to nops(ifr) do
if op(1, op(ifi, ifr)) = p then
ix := ifi;
break;
end if;
end do:
if ix = 0 then
ifr := [op(ifr), [p, e]] ;
else
e := e+op(2, op(ix, ifr)) ;
ifr := subsop(ix=[p, e], ifr) ;
end if;
end do:
return ifr ;
end proc:
# tau(iff) using multiplicative property of tau
tauif := proc(iff)
local r;
r := 1 ;
for t in iff do
r := r*(1+op(2, t)) ;
end do:
return r;
end proc:
# ifactor representation of m!
iffact := proc(m)
local r, f ;
if m <=1 then
return [] ;
else
r := [[2, 1]] ;
for f from 3 to m do
ifmf := ifactors(f)[2] ;
r := mulif(r, ifmf) ;
end do:
return r;
end if:
end proc:
A027423 := proc(n)
iffact(n) ;
tauif(%) ;
end proc:
A098109 := proc(n)
local m ;
for m from 2 do
if A027423(m) > 10^n then
return m;
end if;
end do:
end proc:
for n from 1 do
print(A098109(n)) ;
end do: # R. J. Mathar, Nov 19 2011
CROSSREFS
KEYWORD
nonn
AUTHOR
Jeff Burch, Sep 23 2004
STATUS
approved