С, : последовательность чисел 2559, 1791, 1023, 255, 2799, 2031, 1263, 495, 2271, 1503, , 768 была получена следующим образом. сначала были выписаны 1000 первых натуральных чисел, кратных 3, по возрастанию (3, 6, … 3000). затем все числа были переведены в шестнадцатеричную систему, причём каждое число было записано тремя цифрами (003, 006, …, bb8). затем каждая запись числа была преобразована в строку и символы в этой строке были записаны в обратном порядке (300, 600, …, 8bb). после чего полученные строки были отсортированы в порядке, обратном алфавитному (ff9, ff6, …, 003). затем строки были обратно преобразованы в исходные числа (2559, 1791, …, 768). определите номер места, на котором стоит в последовательности число 1971 (места нумеруются с 1). указание: для решения можно использовать электронные таблицы. при сдаче в первой строке запишите ответ, в следующих строках описание процесса получения ответа (это может быть - описание действий, программа и т.д.)

DinamikDj DinamikDj    1   11.09.2019 07:30    3

Ответы
MiniCreeper55 MiniCreeper55  07.10.2020 07:01
767.

Программа на питоне, делающая то, что написано в условии:
numbers = range(3, 3001, 3)
numbers_base16 = ("{:03x}".format(n) for n in numbers)
srebmun_base16 = (s[::-1] for s in numbers_base16)
srebmun_base16_sorted = sorted(srebmun_base16, reverse=True)
numbers_base16_sorted = (s[::-1] for s in srebmun_base16_sorted)
numbers_sorted = (int(s, 16) for s in numbers_base16_sorted)
 
i = 1
while next(numbers_sorted) != 1971:
    i += 1
print(i)
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика