Digit Sum Integer Sequence (working title)
Inspired by this challenge. If anyone has any suggestions for a song title I could use for the challenge title then please leave a comment.
Definition
We define f(x)
for a given integer as the sum of:

x
itself, 
s
, the smallest digit in the decimal representation ofx
, and, 
l
, the largest digit in the decimal representation ofx
Examples
x 
s 
m 
f(x) 

2  2  2  6 
53  3  5  61 
77  7  7  91 
123  1  3  127 
8022  0  8  8030 
Challenge
You will be building a sequence by repeatedly applying f(x)
to a starting value n>0
taken as input, with the first term in the sequence being n
itself.
For example, given a starting value of n=1
, the first few terms go as follows:
1, 3, 9, 27, 36, 45, 54, 63, ...
You will also take an integer i
as input and then either:
 Output the
i
^{th} term (0indexed or 1indexed, but please specify) of then
based sequence,  Output the the first
i
terms of that sequence, or,  Forego taking
i
as input and output then
based sequence infinitely.
Rules
 I/O can be by any reasonable, convenient means.
 This is codegolf so lowest byte count in each language wins.
Test Cases
Here are the first 25 terms of each sequence from n=1
to n=10
:
1, 3, 9, 27, 36, 45, 54, 63, 72, 81, 90, 99, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209
2, 6, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209
3, 9, 27, 36, 45, 54, 63, 72, 81, 90, 99, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209, 218
4, 12, 15, 21, 24, 30, 33, 39, 51, 57, 69, 84, 96, 111, 113, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179
5, 15, 21, 24, 30, 33, 39, 51, 57, 69, 84, 96, 111, 113, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189
6, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209, 218
7, 21, 24, 30, 33, 39, 51, 57, 69, 84, 96, 111, 113, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199
8, 24, 30, 33, 39, 51, 57, 69, 84, 96, 111, 113, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209
9, 27, 36, 45, 54, 63, 72, 81, 90, 99, 117, 125, 131, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209, 218, 227
10, 11, 13, 17, 25, 32, 37, 47, 58, 71, 79, 95, 109, 118, 127, 135, 141, 146, 153, 159, 169, 179, 189, 199, 209
More test cases can be generated using this ungolfed Japt implementation, where the first integer in the header is n
and the second is i
.
[Haskell], 56 bytes …
3y ago
[Python 3], 68 bytes ``` …
9mo ago
[jq], 38 bytes while(1; …
3y ago
[AWK], 82 bytes {split( …
27d ago
Dyalog APL, 23 bytes ```apl …
9mo ago
Ruby, 36 bytes Infinite ver …
2y ago
[Python 3], 183 181 175 bytes …
3y ago
7 answers
Python 3, 68 bytes
def g(n):
while True:print(n);d=[*map(int,str(n))];n+=min(d)+max(d)
Outputs the n
based sequence indefinitely, starting with n
.
jq, 38 bytes
while(1;.+("\(.)"explodemax+min96))
prints the infinite sequence starting with $n$.
0 comment threads
AWK, 82 bytes
{split($1,d,"");i=a=d[1];for(x in d){d[x]>a?a=d[x]:0;d[x]<i?i=d[x]:0}print a+i+$1}
Just pass your input, e.g.:
echo "123"  awk '...'
0 comment threads
Dyalog APL, 23 bytes
{⍵+(⌈/+⌊/)10⊥⍣¯1⊢⍵}⍣⎕⊢1⎕
Takes an input n and outputs the 0indexed nth item of the sequence.
{⍵+(⌈/+⌊/)10⊥⍣¯1⊢⍵}⍣⎕⊢⎕
⊢⎕ ⍝ Starting from <input>,
⍣⎕ ⍝ repeat <input> times
⍵+ ⍝ the number plus
(⌈/+⌊/) ⍝ the minimum plus the maximum of
10⊥⍣¯1 ⍝ the base10 representation
⊢⍵ ⍝ of the number.
💎
Created with the help of Luminespire.
Python 3, 183 181 175 bytes
def f(a,b):
c=a;a=str(a)
for i in range(b):
y=0;z=9
for j in range(len(a)):
if y<int(a[j]):y=int(a[j])
if z>int(a[j]):z=int(a[j])
c=int(a)+y+z;a=str(c)
print(c)
I decided to go for outputting the i
th value of the sequence, 0indexed. a
is the number to be sequenced and b
is the index of the nonexistent listsince no list existsto be printed.
0 comment threads
Ruby, 36 bytes
Infinite version:
n=1;0while n+=p(n).digits.minmax.sum
Try this online!
(program is interrupted after it reaches the 128KiB limit of output)
1 comment thread