PHP: максимальное число сцеплением набора чисел
Задача состоит в том, чтобы получить максимально возможное натуральное число сцеплением чисел из заданного набора, например, 789123111 из (123, 789, 111) или 9998 из (9,8,9,9).
На PHP за счёт имеющихся функций пользовательской сортировки и преобразования массива в строку задача решается даже слишком просто:
<?php function maxnum($arr) { usort($arr, function ($x, $y) { return strcmp("$y$x", "$x$y"); }); return implode('', $arr); } echo maxnum(array(123, 789, 111)).'<br>'; echo maxnum(array(9,8,9,9)); ?>
16.09.2018, 12:07 [1519 просмотров]