Summarize and say sequence: Difference between revisions

Added 11l
(Realize in F#)
(Added 11l)
Line 59:
*   [[oeis:A036058|The On-Line Encyclopedia of Integer Sequences]].
<br><br>
 
=={{header|11l}}==
{{trans|С++}}
 
<lang 11l>[String] result
V longest = 0
 
F make_sequence(n) -> N
DefaultDict[Char, Int] map
L(c) n
map[c]++
 
V z = ‘’
L(k) sorted(map.keys(), reverse' 1B)
z ‘’= Char(code' map[k] + ‘0’.code)
z ‘’= k
 
I :longest <= z.len
:longest = z.len
I z !C :result
:result [+]= z
make_sequence(z)
 
L(test) [‘9900’, ‘9090’, ‘9009’]
result.clear()
longest = 0
make_sequence(test)
print(‘[#.] Iterations: #.’.format(test, result.len + 1))
print(result.join("\n"))
print("\n")</lang>
 
{{out}}
<pre>
[9900] Iterations: 21
2920
192210
19222110
19323110
1923123110
1923224110
191413323110
191433125110
19151423125110
19251413226110
1916151413325110
1916251423127110
191716151413326110
191726151423128110
19181716151413327110
19182716151423129110
29181716151413328110
19281716151423228110
19281716151413427110
19182716152413228110
 
 
[9090] Iterations: 21
2920
192210
19222110
19323110
1923123110
1923224110
191413323110
191433125110
19151423125110
19251413226110
1916151413325110
1916251423127110
191716151413326110
191726151423128110
19181716151413327110
19182716151423129110
29181716151413328110
19281716151423228110
19281716151413427110
19182716152413228110
 
 
[9009] Iterations: 21
2920
192210
19222110
19323110
1923123110
1923224110
191413323110
191433125110
19151423125110
19251413226110
1916151413325110
1916251423127110
191716151413326110
191726151423128110
19181716151413327110
19182716151423129110
29181716151413328110
19281716151423228110
19281716151413427110
19182716152413228110
 
</pre>
 
=={{header|Ada}}==
1,480

edits