Автор | Сообщение |
|
Отправлено: 18.10.22 08:44. Заголовок: не сходится ответ
(№ 5645) (П. Финкель) Текстовый файл 24-230.txt состоит не более чем из 106 символов и содержит буквы английского алфавита и цифры. Определите максимальное число, записанное в этом файле между ZZ и удовлетворяющее маске «8???54???22», где символ ? обозначает любую цифру. Пример такого числа: 81235412322. Найдите произведение нечётных цифр найденного числа. Ответ→76545 ### ReadAllText('24.txt').split('Z').wh(s->s.IsMatch('8...54...22')).OrdD.First.ToS.Sel(c->c.ToDigit).Wh(d->d.isodd).Agr(1,(p,n)->p*n).pr Ответ→2657205 наверное файлик не тот, по логике - 24-229.txt
|
|
|
Ответов - 4
[только новые]
|
|
|
Отправлено: 19.10.22 01:26. Заголовок: ### ReadAllText(..
### ReadAllText('24.txt').Replace('ZZ','*').split('*').wh(s->s.IsMatch('8...54...22')AND (S.LEN=11)).OrdD.First.ToS.Sel(c->c.ToDigit).Wh(d->d.isodd).Agr(1,(p,n)->p*n).pr тогда так и ответ сошелся
|
|
|
|
| Администратор
|
Сообщение: 3755
|
|
Отправлено: 18.10.22 20:48. Заголовок: patnikk пишет: .spli..
patnikk пишет: Число должно быть ограничено парами ZZ: ZZ<число>ZZ.
|
|
|
|
Отправлено: 31.05.23 16:11. Заголовок: Задание (№ 5645) (П. Финкель)
Добрый день! Задание (№ 5645) (П. Финкель) Текстовый файл 24-230.txt состоит не более чем из 106 символов и содержит буквы английского алфавита и цифры. Определите максимальное число в этом файле, ограниченное двумя парами символов ZZ и удовлетворяющее маске «8???54???22», где символ ? обозначает любую цифру. Пример такого числа: 81235412322. Найдите произведение нечётных цифр найденного числа. Решение: with open('9-170 (1).txt') as f: list_txt = f.readline() letter ='0123456789' s = [i for i in list_txt.split('ZZ')] res = [] for string in s: score = 0 for chifra in string: if chifra in letter: score += 1 if score == len(string): if string[0] == '8' and string[-2:] == '22' and string[4:6] == '54': res.append(string) nechet = '13579' answer = 1 for i in str((sorted(res))[-1]): if i in nechet: answer *= int(i) print(answer) Не сходится ответ, вывод: 175, хотя на сайте 76545
|
|
|
|
Отправлено: 02.11.23 11:20. Заголовок: from fnmatch import..
from fnmatch import * s=open('c:/24-230.txt').readline() l=set() while s: if 'ZZ' in s: i=s.index('ZZ') a=s[i:i+15] s = s[i+1 ::] if fnmatch(a,'ZZ8???54???22ZZ'): l.add(int(a[2:-2:])) else: break p=1 for c in str(max(l)): if c in '13579': p*=int(c) print(p)
|
|
|
|