Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- number = input()
- initial_number = number
- result = ''
- new_number = ''
- max_number = -sys.maxsize
- докато дължината на стринг result е различна от дължината на първоначалния стринг (число)
- while len(result) != len(initial_number):
- # намираме най-голямата цифра от стринга number, намираме индекс ѝ,
- for i in range(len(number)):
- if int(number[i]) > max_number:
- max_number = int(number[i])
- index = i
- # добавяме най-голямата цифра в стринг result
- result += str(max_number)
- # с тези 2 цикъла ще направим ново число, което ще обхождаме като премахнем най-голямата вече намерена цифра.
- # правим го с помощта на индекса, който намерихме и
- # първия цикъл създава лявата част, а втория дясната
- for left in range(0, index):
- new_number += number[left]
- for right in range(index + 1, len(number)):
- new_number += number[right]
- # number го превръщаме в новосъздаденото число
- number = new_number
- # връщаме стойността на max_number
- max_number = -sys.maxsize
- # нулираме new_number за следващият път когато ще създаваме ново число с помощта на left/right циклите
- new_number = ''
- print(result)
Advertisement
Add Comment
Please, Sign In to add comment