Информатика, вопрос задал qplaya , 6 лет назад

Федя совсем недавно поступил в лучший вуз страны. В особенности ему стала интересна кафедра изучения счастливых чисел, то есть тех чисел, которые состоят только из цифр 2 и 5. Научные сотрудники этой кафедры исследуют их распределение. Они поняли, что существует последовательность счастливых чисел (2 - первое число, 5 - второе, 22 - третье и т.д.). Они хотят найти порядковый номер счастливого числа N в данной последовательности. Федю очень заинтересовала эта задача. Он думал над ней целый день, но так ни к чему и не пришел. Можете ли вы помочь Феде и кафедре счастливых чисел найти ответ?

Формат входных данных
В данную задачу вам нужно отправить только ответ на этот тест:

Тест №1: N = 25
Примечания
Т.к. счастливое число 2 является первым числом последовательности счастливых чисел, то ответ на задачу при N = 2 равен 1. При N = 22, ответ равен 3. А например, т.к. число 255 является 10-ым членом последовательности, то при N = 255 ответ будет равен 10.


gulyablackflower: олимпиаду делаешь, да

Ответы на вопрос

Ответил monaco195
1

Ответ:

4

Объяснение:

1.2

2.5

3.22

4.25

программа на python:

n = int(input())

 

# 1.

d = '1' + str(n).replace('2', '0').replace('5', '1')

res = int(d, 2) - 1

print(res)

 

# 2.

k = 1

cnt = 0

s = {2: 1, 5: 2}

while n:

   cnt += s[n%10] * k

   k <<= 1

   n //= 10

print(cnt)


qplaya: можно более подробное решение?
Новые вопросы