На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 13.03.24 18:14. Заголовок: Не сходится ответ в задании №23 в задаче (№311)


В представленном на сайте решении в одном из вызовов функции в качестве аргумента используется start+2, хотя судя по условию должно быть start*2.
Также в "главном" вызове функции end = 64, хотя судя по условию должно быть 62. Мой вариант решения с внесёнными изменениями:

from functools import cache

@cache
def f( start, end, lastCmd = 0, hit32 = False ):
if start > end+1 or start in [10, 20, 30, 40, 50,60]: return 0
if start == end: return hit32
if start == 32: hit32 = True
total = 0 if lastCmd == 1 else \
f( start-1, end, 1, hit32 )
return total + \
f( start*2, end, 2, hit32 ) + \
f( start*3, end, 3, hit32 )

count = f(5, 62)
print( count )

Таким образом, мой ответ: 1, а не 34700224. Он легко приводится ((5-1)*2*2*2 - 1) * 2. Ни одного из остальных 34700223 решений я найти не могу.
Возможно, я что-то не так понял. Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]





Не зарегистрирован
ссылка на сообщение  Отправлено: 13.03.24 20:13. Заголовок: Дени Цицкиев, ваше р..


Дени Цицкиев, ваше решение выглядит странно, не понимаю.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 13.03.24 20:19. Заголовок: Саша Кашев, решение ..


Саша Кашев, решение взято из ответов на задание, я только числа поменял.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 13.03.24 20:23. Заголовок: Простите, разобрался..


Простите, разобрался

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 2
ссылка на сообщение  Отправлено: 13.03.24 20:49. Заголовок: :sm36: Интересная си..


Интересная ситуация, хотел бы тоже посмотреть правильное решение. Ждем ответа

Спасибо: 1 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 13.03.24 20:57. Заголовок: О, интересная ситуац..


О, интересная ситуация

Спасибо: 1 
ПрофильЦитата Ответить





Сообщение: 284
ссылка на сообщение  Отправлено: 14.03.24 07:05. Заголовок: Согласна с ответом 1..


Согласна с ответом 1
 
f= lambda n,s,t: f(n-1,s+'-',t+[n]) + f(n*2,s+'*',t+[n]) + f(n*3,s+'*',t+[n]) \
if n!=62 and n<62+2 and '--' not in s and n%10!=0 \
else n==62 and '--' not in s and 32 in t
print(f(5,'',[]))


Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 122
ссылка на сообщение  Отправлено: 20.03.24 11:27. Заголовок: Со стандартным шаблоном не получается, не пойму, почему!


def f(a, b, p):
if a>b or a in[10,20,30,40,50,60]: return 0
if a==b: return 1
if a<b or p=='-1': return f(a+2,b, '+2')+f(a*3,b, '*3')
if a<b or p!='-1': return f(a-1,b, '-1')+f(a+2,b, '+2')+f(a*3,b, '*3')
print(f(5,32, '')*f(32,62, ''))

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 681
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет