|
|
A073053
|
|
Apply DENEAT operator (or the Sisyphus function) to n.
|
|
16
|
|
|
101, 11, 101, 11, 101, 11, 101, 11, 101, 11, 112, 22, 112, 22, 112, 22, 112, 22, 112, 22, 202, 112, 202, 112, 202, 112, 202, 112, 202, 112, 112, 22, 112, 22, 112, 22, 112, 22, 112, 22, 202, 112, 202, 112, 202, 112, 202, 112, 202, 112, 112, 22, 112, 22
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
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
|
|
|
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") :
local e, o, L ;
if n = 0 then
0 ;
else
L := [e, o, e+o] ;
digcatL(L) ;
end if;
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:
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;
# 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)):
|
|
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)))
|
|
CROSSREFS
|
|
|
KEYWORD
|
easy,nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|