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

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

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

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



Сообщение: 7
ссылка на сообщение  Отправлено: 16.04.22 19:20. Заголовок: ЕГЭ-16, № 117


Попытка решить задачу через динамическое программирование на таком большом интервале дает ошибку
Traceback (most recent call last):
File "C:/Users/Lenovo/Desktop/untitled-3.py", line 5, in <module>
a.append(1 + a[i - 1])
builtins.MemoryError
Решение:
 
a = [1]
for i in range(1, 500000001):
if i % 2 != 0:
a.append(1 + a[i - 1])
if i % 2 == 0:
a.append(a[i // 2])
result = {}
for num in a:
if num not in result:
result[num] = 1
else:
result[num] += 1
print(result[3])

Динамическим программированием такую задачу не решить? Или решить, но я что-то делаю не так?

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


Администратор




Сообщение: 3479
ссылка на сообщение  Отправлено: 16.04.22 19:30. Заголовок: Посмотрите обсуждени..


Посмотрите обсуждение в соседней теме.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 8
ссылка на сообщение  Отправлено: 16.04.22 19:42. Заголовок: Смотрела. Функция ..


Смотрела. Функция
from functools import lru_cache
@lru_cache
тоже не работает на этом интервале. Вы также в той теме упоминаете, что один из способов - динамическое программирование. Вот и интересно было именно по поводу дин.программирования.

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




Сообщение: 3481
ссылка на сообщение  Отправлено: 16.04.22 22:11. Заголовок: Вы же увидели, что Д..


Вы же увидели, что ДП не проходит по памяти.

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

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