РТА (BasicLevel) -1023 установить минимальное количество

Во-первых, определить проблему

0-9 каждый данный номер. Вы можете расположить эти цифры в любом порядке, но должны быть в полной мере. Цель состоит в том, чтобы полученное число как можно меньше (не обращать внимание на первую 0).

Например: Учитывая два 0, 1 два, три 5, в 8, мы получим минимальное число 10015558. Минимальное число теперь присваивается номер, пожалуйста, напишите вывод программы может состоять из.

 

Входные форматы:

Входные данные 10 дается неотрицательное целое число в строке, мы имеем последовательность представляет собой число 0, число номер 1, номер 9 ....... Разделенные пространства между целым числом. Общее число из 10 цифр не более чем 50, и имеет, по меньшей мере, один ненулевой цифры.

Выходные форматы:

Наименьшее число в строке может быть его выход.

Пример ввода:

2 2 0 0 0 3 0 0 1 0

Пример вывода:

10015558
 

Во-вторых, решение проблем

= В НУМС [Int (BI) для BI в (ВХОД ()) Разделить STR (. "  " )] 

# Во- первых, найти наименьшее ненулевое число, наиболее значимые биты 
мин = 0
 для I в диапазоне (1, 10. ):
     ЕСЛИ в НУМС ! [I] = 0: 
        мин = I 
        в НУМСЕ [I] , - = 1.
         BREAK 

числа = мин    
 # оставшееся количество малых и большой сплайсинг 
DEF concat_by_mult (количество, то НУМС):
     для I в диапазоне (10 ):
         IF в НУМСЕ [ I] =! 0:
             дляJ в диапазоне (НУМС [я]): 
                число = число * 10 + я
     вернуть номер 

четкости concat_char (номер, Nums): 
    номер = Str (число)
     для I в диапазоне (10 ):
         если НУМС [я]! = 0:
             для J в диапазоне (НУМС [I]): 
                номер = номер + ул (я)
     возвращение номер     
    
печати (concat_char (число, НУМС))

 

рекомендация

отwww.cnblogs.com/justLittleStar/p/11729527.html