Задачи за тренинг
Задача 4а.
Дадено е цяло положително n-цифрено число. С размяна на
различни цифри на числото получаваме друго число, което е или
по-малко, или по-голямо от даденото. Да се намери най-малкото n-цифрено
число, което може да се получи чрез размяна на произволен брой цифри
на даденото число.
Вход:
Задава се редица от числа, по-малки от 10100.
Изход:
За всяко число от редицата, на отделен ред се отпечатва най-малкото
n-цифрено число, получено по описания начин.
Пример:
100 283
Решение на примера:
100
238
Задача 4b.
Дадено се множество от n
различни цели числа числа. Да се напише програма, която да
може да отговаря на въпроса: "Кой е k-тия по големина елемент на множеството?"
Вход:
Най-напред на входа се задава броя N на елементите на
множеството (N < 1011) . Следват самите
елементи (по-малки от 1020) и след тях редица от цели
положителни числа "k" -
питане за k-тия по
големина елемент на множеството (k
< 100), която съдържа не повече от 100 питания.
Изход:
За всяко питане, на изхода се отпечатва на отделен ред отговора -
стойността на k-тия по
големина елемент.
Пример:
5
12 4 22 31 32
1 2 3 4
Решение на примера:
32
31
22
12
Подсказка: Може да използвате контейнерът set от STL да
съхранявате там 100-те най-големи елементи на множеството. Когато
четете от входа елемент, слагате го в множеството и ако то стане с
повече от 100 елемента, изтривате най-малкия. След прочитането на
входа, в множаството ще имате 100-те най-големи елемента, и то
наредени.