Задача №1446. Результаты олимпиады (1),
сайт https://informatics.mccme.ru/mod/statements/view3.php?id=271&chapterid=1446#1
Во время проведения олимпиады каждый из участников получил свой идентификационный номер – натуральное число. Необходимо отсортировать список участников олимпиады по количеству набранных ими .
Входные данные
На первой строке дано число N (1 ≤ N ≤ 1000) – количество участников. На каждой следующей строке даны идентификационный номер и набранное число соответствующего участника. Все числа во входном файле не превышают 105.
Выходные данные
В выходной файл выведите исходный список в порядке убывания . Если у некоторых участников одинаковые , то их между собой нужно упорядочить в порядке возрастания идентификационного номера.
в ответе или объяснении скиньте код для С++
101₁₀ = 1100101₂
123₁₀ = 1111011₂
324₁₀ = 101000100₂
Объяснение:
101 / 2 = 50 + остаток 1
50 / 2 = 25 + остаток 0
25 / 2 = 12 + остаток 1
12 / 2 = 6 + остаток 0
6 / 2 = 3 + остаток 0
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
101₁₀ = 1100101₂
123 / 2 = 61 + остаток 1
61 / 2 = 30 + остаток 1
30 / 2 = 15 + остаток 0
15 / 2 = 7 + остаток 1
7 / 2 = 3 + остаток 1
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
123₁₀ = 1111011₂
324 / 2 = 162 + остаток 0
162 / 2 = 81 + остаток 0
81 / 2 = 40 + остаток 1
40 / 2 = 20 + остаток 0
20 / 2 = 10 + остаток 0
10 / 2 = 5 + остаток 0
5 / 2 = 2 + остаток 1
2 / 2 = 1 + остаток 0
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
324₁₀ = 101000100₂
101₁₀ = 1100101₂
123₁₀ = 1111011₂
324₁₀ = 101000100₂
Объяснение:
101 / 2 = 50 + остаток 1
50 / 2 = 25 + остаток 0
25 / 2 = 12 + остаток 1
12 / 2 = 6 + остаток 0
6 / 2 = 3 + остаток 0
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
101₁₀ = 1100101₂
123 / 2 = 61 + остаток 1
61 / 2 = 30 + остаток 1
30 / 2 = 15 + остаток 0
15 / 2 = 7 + остаток 1
7 / 2 = 3 + остаток 1
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
123₁₀ = 1111011₂
324 / 2 = 162 + остаток 0
162 / 2 = 81 + остаток 0
81 / 2 = 40 + остаток 1
40 / 2 = 20 + остаток 0
20 / 2 = 10 + остаток 0
10 / 2 = 5 + остаток 0
5 / 2 = 2 + остаток 1
2 / 2 = 1 + остаток 0
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
324₁₀ = 101000100₂