Largest int from concatenated ints: Difference between revisions

Content added Content deleted
(Added Bracmat example)
(First implementation using PL/I.)
Line 505: Line 505:
<pre>998764543431
<pre>998764543431
6054854654</pre>
6054854654</pre>

=={{header|PL/I}}==
<lang>
/* Largest catenation of integers 16 October 2013 */
/* Sort using method 2, comparing pairs of adjacent integers. */

Largest: procedure options (main);
declare s(*) char (20) varying controlled, n fixed binary;
get (n);
allocate s(n);
get list (s);
s = trim(s);
put skip edit (s) (a, x(1));
put skip list ('Largest integer=', Largest_integer());

largest_integer: procedure () returns (char(100) varying);
declare sorted bit (1);
declare (true value ('1'b), false value ('0'b)) bit (1);
declare i fixed binary;
declare temp character(20) varying;

do until (sorted);
sorted = true;
do i = 1 to n-1;
if char(s(i)) || char(s(i+1)) < char(s(i+1)) || char(s(i)) then
do;
temp = s(i); s(i) = s(i+1); s(i+1) = temp; sorted = false;
end;
end;
end;
return (string(s));
end largest_integer;
end Largest;
</lang>
<pre>
54 546 548 60
Largest integer= 6054854654

1 34 3 98 9 76 45 4
Largest integer= 998764543431
</pre>


=={{header|Python}}==
=={{header|Python}}==