Автор | Сообщение |
|
Отправлено: 27.04.21 12:05. Заголовок: Задание 23 26.04.21 c сайта олимпиад
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1.Удвоить 2.Удвоить и прибавить Первая команда умножает число на экране на 2, вторая умножает его на 2, а затем прибавляет 1. Сколько различных результатов можно получить из исходного числа 1 после выполнения программы, содержащей ровно 10 команд ? sum = 1 for x in range (9): sum = sum * 2 print(sum) #Ответ: 512, тк первое мы уже посчитали и поэтому записали в sum 1 Вопрос в том, правильно ли я решил данное задание ?
|
|
|
Ответов - 1
[только новые]
|
|
|
Отправлено: 27.04.21 13:03. Заголовок: Добрый день! Думаю,..
Добрый день! Думаю, что нет. def f(x,l,t=[]): if l==10: return t+[x] else: return f(x*2,l+1,t)+f(x*2+1,l+1,t) a=f(1,0,[]) print(len(set(a))) #1024
|
|
|