OFFSET
0,1
COMMENTS
DENEAT(n): concatenate number of even digits in n, number of odd digits and total number of digits. E.g., 25 -> 1.1.2 = 112 (Digits: Even, Not Even, And Total). Leading zeros are then omitted.
This is also known as the Sisyphus function. - N. J. A. Sloane, Jun 25 2018
Repeated application of the DENEAT operator reduces all numbers to 123. This is easy to prove. Compare A073054, A100961. - N. J. A. Sloane Jun 18 2005
REFERENCES
M. E. Coppenbarger, Iterations of a modified Sisyphus function, Fib. Q., 56 (No. 2, 2018), 130-141.
M. Ecker, Caution: Black Holes at Work, New Scientist (Dec. 1992)
M. J. Halm, Blackholing, Mpossibilities 69, (Jan 01 1999), p. 2.
J. Schram, The Sisyphus string, J. Rec. Math., 19:1 (1987), 43-44.
M. Zeger, Fatal attraction, Mathematics and Computer Education, 27:2 (1993), 118-123.
LINKS
N. J. A. Sloane, Table of n, a(n) for n = 0..20000
EXAMPLE
a(1) = 0.1.1 -> 11.
a(10000000000) = 10111 because 10000000000 has 10 even digits, 1 odd digit and 11 total digits
MAPLE
read("transforms") :
A073053 := proc(n)
local e, o, L ;
if n = 0 then
0 ;
else
e := A196563(n) ;
o := A196564(n) ;
L := [e, o, e+o] ;
digcatL(L) ;
end if;
end proc: # R. J. Mathar, Jul 13 2012
# Maple code based on R. J. Mathar's code for A171797, added by N. J. A. Sloane, May 12 2019 (Start)
nevenDgs := proc(n) local a, d; a := 0 ; for d in convert(n, base, 10) do if type(d, 'even') then a :=a +1 ; end if; end do; a ; end proc:
cat2 := proc(a, b) local ndigsb; ndigsb := max(ilog10(b)+1, 1) ; a*10^ndigsb+b ; end:
catL := proc(L) local a, i; a := op(1, L) ; for i from 2 to nops(L) do a := cat2(a, op(i, L)) ; end do; a; end proc:
A055642 := proc(n) max(1, ilog10(n)+1) ; end proc:
A171797 := proc(n) local n1, n2 ; n1 := A055642(n) ; n2 := nevenDgs(n) ; catL([n1, n2, n1-n2]) ; end proc:
A073053 := proc(n) local n1, n2 ; n1 := A055642(n) ; n2 := nevenDgs(n) ; catL([n2, n1-n2, n1]) ; end proc:
seq(A073053(n), n=1..80) ; (End)
L:=proc(n) if n=0 then 1 else floor(evalf(log(n)/log(10)))+1; fi; end;
S:=proc(n) local Le, Ld, Lt, t1, e, d, t; global L;
t1:=convert(n, base, 10); e:=0; d:=0; t:=nops(t1);
for i from 1 to t do if (t1[i] mod 2) = 0 then e:=e+1; else d:=d+1; fi; od:
Le:=L(e); Ld:=L(d); Lt:=L(t);
if e=0 then 10^Lt*d+t
elif d=0 then 10^(Ld+Lt)*e+10^Lt*d+t
else 10^(Ld+Lt)*e+10^Lt*d+t; fi;
end;
[seq(S(n), n=1..200)]; # N. J. A. Sloane, Jun 25 2018
# alternative Maple program:
a:= n-> (l-> (e-> parse(cat(e, (h-> [h-e, h][])(nops(l))))
)(nops(select(x-> x::even, l))))(convert(n, base, 10)):
seq(a(n), n=0..200); # Alois P. Heinz, Jan 21 2022
MATHEMATICA
f[n_] := Block[{id = IntegerDigits[n]}, FromDigits[ Join[ IntegerDigits[ Length[ Select[id, EvenQ[ # ] &]]], IntegerDigits[ Length[ Select[id, OddQ[ # ] &]]], IntegerDigits[ Length[ id]] ]]]; Table[ f[n], {n, 0, 55}] (* Robert G. Wilson v, Jun 09 2005 *)
s={}; Do[id=IntegerDigits[n]; ev=Select[id, EvenQ]; ne=Select[id, OddQ]; fd=FromDigits[{Length[ev], Length[ne], Length[id]}]; s=Append[s, fd], {n, 81}]; SameQ[newA073053-s] (* Zak Seidov *)
deneat[n_]:=Module[{idn=IntegerDigits[n]}, FromDigits[Flatten[ IntegerDigits/@ {Count[ idn, _?EvenQ], Count[ idn, _?OddQ], Length[ idn]}]]] Array[ deneat, 60, 0]// Flatten (* Harvey P. Dale, Aug 13 2021 *)
PROG
(Python)
def a(n):
s = str(n)
e = sum(1 for c in s if c in "02468")
return int(str(e) + str(len(s)-e) + str(len(s)))
print([a(n) for n in range(54)]) # Michael S. Branicky, Jan 21 2022
CROSSREFS
KEYWORD
easy,nonn,base
AUTHOR
Michael Joseph Halm, Aug 16 2002
EXTENSIONS
Edited and corrected by Jason Earls and Robert G. Wilson v, Jun 03 2005
a(0) added by N. J. A. Sloane, May 12 2019
STATUS
approved