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

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

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

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



Сообщение: 11
ссылка на сообщение  Отправлено: 12.03.23 17:11. Заголовок: 5804


Неправильная формулировка условия задачи в номере 5804.
В качестве ответа укажите количество таких троек и "наибольшее произведение их цифр", а в ответе автор приводит наибольшее произведение четных цифр троек.

Если требуется найти произведение цифр троек, программа должна вывести ответ: 37 455196672000

from fnmatch import *

a = [int(x) for x in open('17-346.txt').readlines()]

b = []
for i in range(2,len(a)):
a1,a2,a3 = a[i-2],a[i-1],a
s = str(a1)+str(a2)+str(a3)
pch,pv = 1,1
for c in s:
if c in '02468': pch*=int(c)
pv*=int(c)
if fnmatch(str(pch),'11*6*') and pch<=2*10**9: b+=[pv]

print(len(b),max(b))

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







Сообщение: 7
ссылка на сообщение  Отправлено: 06.04.23 21:54. Заголовок: Все верно в условии...


Все верно в условии. Вот рабочая программа:

def digits(x): 
s = str(x)
result = 1
for d in s:
if int(d) % 2 == 0:
result *= int(d)
return result


cnt = 0
mx = 0
a = [int(c) for c in open('te.txt')]
for i in range(len(a) - 2):
multi = str(digits(a) * digits(a[i + 1]) * digits(a[i + 2]))
if multi[:2:] == '11' and '6' in multi and int(multi) <= 2 * 10 ** 9:
cnt += 1
mx = max(int(multi), mx)
print(cnt, mx)


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





Сообщение: 398
ссылка на сообщение  Отправлено: 14.04.23 02:34. Заголовок: sgglazkov пишет: Во..


sgglazkov пишет:

 цитата:
Вот рабочая программа:
 
def digits(x):
s = str(x)
result = 1
for d in s:
if int(d) % 2 == 0:
result *= int(d)
return result


cnt = 0
mx = 0
a = [int(c) for c in open('te.txt')]
for i in range(len(a) - 2):
multi = str(digits(a) * digits(a[i + 1]) * digits(a[i + 2]))
if multi[:2:] == '11' and '6' in multi and int(multi) <= 2 * 10 ** 9:
cnt += 1
mx = max(int(multi), mx)
print(cnt, mx)



Увы и ах, не работает она правильно, поскольку есть ошибки!

Во-первых, изменено имя загружаемого файла!

Во-вторых, ошибка в данной строке кода: multi = str(digits(a) * digits(a[i + 1]) * digits(a[i + 2]))

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





Сообщение: 400
ссылка на сообщение  Отправлено: 14.04.23 03:57. Заголовок: sgglazkov пишет: mu..


Внимательно посмотрите на ранее опубликованный программный код:
sgglazkov пишет:

 цитата:
multi = str(digits(a) * digits(a[i + 1]) * digits(a[i + 2]))



Благодарностей не жду, но совет на будущее даю:

Если у вас используется сочетание "[ i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

 цитата:
multi = str(digits(a[ i] * digits(a[i + 1]) * digits(a[i + 2]))



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





Сообщение: 399
ссылка на сообщение  Отправлено: 14.04.23 03:43. Заголовок: nuriatalgatovna пише..


nuriatalgatovna пишет: {pre2]

 цитата:
a = [int(x) for x in open('17-346.txt').readlines()]

b = []
for i in range(2,len(a)):
a1,a2,a3 = a[i-2],a[i-1],a
s = str(a1)+str(a2)+str(a3)
pch,pv = 1,1
for c in s:
if c in '02468': pch*=int(c)
pv*=int(c)
if fnmatch(str(pch),'11*6*') and pch<=2*10**9: b+=[pv]

print(len(b),max(b))


`

Ваш код трудно понять, поскольку отсутствует форматирование.

Программы "заворачивайте" в тэг '['pre2']'...'['/pre2']', пример указан в самом верху странички, при этом сохраняются все отступы и применяется моноширинный шрифт.

Если у вас используется сочетание "[ i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

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

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