Largest int from concatenated ints: Difference between revisions

→‎{{header|Python}}: translation to Perl6
(→‎Tcl: Added implementation)
(→‎{{header|Python}}: translation to Perl6)
Line 8:
 
Note: A solution could be to try all combinations and return the best. Another way to solve this is to note that in the best arrangement, for any two adjacent original integers X and Y, the concatenation X followed by Y will be numerically greater than or equal to the concatenation Y followed by X.
 
=={{header|Perl 6}}==
{{trans|Python}}
<lang Perl 6>sub maxnum(@x) {
[~] sort -> $x, $y { $x~$y <=> $y~$x }, @x
}
 
say maxnum <1 34 3 98 9 76 45 4>;
say maxnum <54 546 548 60>;</lang>
{{out}}
<pre>998764543431
6054854654</pre>
 
=={{header|Python}}==
Line 24 ⟶ 36:
key=cmp_to_key(lambda x,y:cmp(int(y+x), int(x+y)))))
 
for numbers in [(1, 34, 3, 98, 9, 76, 45, 4), (54, 546, 548, 60)]:
print('Numbers: %r\n Largest integer: %15s' % (numbers, maxnum(numbers)))</lang>
 
1,934

edits