Автор | Сообщение |
|
Отправлено: 23.06.21 06:42. Заголовок: вопрос по условию!
152) (А. Богданов) Исполнитель Калькулятор преобразует число, записанное на экране. У исполнителя есть две команды, которым присвоены номера: 1. Прибавь 1 2. Прибавь 2 Первая команда увеличивает число на 1, вторая – на 2. Сколько существует таких программ, которые исходное число 11 преобразуют в число 29, и при этом траектория вычислений содержит либо 17, либо 23, либо 17 и 23 одновременно? Что означает условие 17 либо 23 или либо 17 и 23? как решать такую задачу.
|
|
|
Ответов - 10
[только новые]
|
|
|
| Администратор
|
Сообщение: 2901
|
|
Отправлено: 23.06.21 10:33. Заголовок: Подходят 3 варианта ..
Подходят 3 варианта 1) есть 17, нет 23 2) нет 17, есть 23 3) есть 17 и есть 23. Остальные не подходят. Проще подсчитать те, которые не подходят, и вычесть из общего количества.
|
|
|
|
Отправлено: 23.06.21 13:10. Заголовок: спасибо!
|
|
|
|
Отправлено: 02.02.22 23:50. Заголовок: думаю неправильный ответ
Мой код def f(x, y): if x == y: return 1 if x > y: return 0 if x < y: return f(x + 1, y) + f(x + 2, y) print(f(11, 17) * f(17, 29) + f(11, 23) * f(23, 29) + f(11,17) * f(17,23) * f(23, 29)) Ответ 8255 , который не сходится с 3861. Ошибок в программе не вижу
|
|
|
|
Отправлено: 03.02.22 10:17. Заголовок: bliss61@mail.ru пише..
bliss61@mail.ru пишет: цитата: | print(f(11, 17) * f(17, 29) + f(11, 23) * f(23, 29) + f(11,17) * f(17,23) * f(23, 29)) Ответ 8255 , который не сходится с 3861. Ошибок в программе не вижу |
| а где контроль того, что чисел нет? (нет 23, но есть 17) + (нет 17, но есть 23) + (есть 17 и 23) для первых двух как раз завышение
|
|
|
|
| Администратор
|
Сообщение: 3267
|
|
Отправлено: 03.02.22 12:25. Заголовок: bliss61@mail.ru пише..
bliss61@mail.ru пишет: цитата: | Ответ 8255 , который не сходится с 3861. Ошибок в программе не вижу |
|
Вы несколько раз учитываете программы, которые проходят и через 17, и через 23.
|
|
|
|
Отправлено: 03.02.22 10:40. Заголовок: Но в условии не сказ..
Но в условии не сказано, что когда 23 или 17, то один из низ не проходит через при 23 - 17 и при 17-23. На мой взгляд тогда условие не корректно Сколько существует таких программ, которые исходное число 11 преобразуют в число 29, и при этом траектория вычислений содержит либо 17, либо 23, либо 17 и 23 одновременно
|
|
|
|
Отправлено: 18.06.22 22:09. Заголовок: ez zadanie nate kod
def F(x,y): if x==y :return 1 if x>y or x==17 or x==23:return 0 return F(x+1,y)+F(x+2,y) print(F(11,29))
|
|
|
|
Отправлено: 18.06.22 22:14. Заголовок: Там получается снача..
Там получается сначала ищем все варианты получаем 4181,потом считаем то, что не подходит (код выше) и потом отнимаем 4181-320=3861
|
|
|
|
Отправлено: 13.06.23 19:53. Заголовок: def f(x, y): if ..
def f(x, y): if x > y: return 0 if x == y: return 1 return f(x + 1, y) + f(x + 2, y) def f1(x, y): if x > y or x == 17 or x == 23: return 0 if x == y: return 1 return f1(x + 1, y) + f1(x + 2, y) print(f(11, 29) - f1(11, 29))
|
|
|
|
Отправлено: 22.06.23 18:43. Заголовок: f=lambda n,k: f(n+1,..
f=lambda n,k: f(n+1,k+[n])+f(n+2,k+[n]) if n<29 else n==29 and (17 in k or 23 in k) print(f(11,[]))
|
|
|
|