Форум » Кодирование и декодирование информации » Задача 6902 » Ответить

Задача 6902

Aleksey6819: (П. Финкель) Коля записывает восьмизначные восьмеричные числа, которые начинаются и заканчиваются чётной цифрой и только три нечётные цифры стоят рядом. Сколько таких чисел может записать Коля? В решении автора есть ошибка (или я неправильно понимаю задание). Жирным выделил сомнительную часть, которая считает сколько раз встречаются три подряд нечётных цифр (даже в одном числе), а не количество чисел. [pre2]from itertools import* a='0246' b='1357' k=0 for i in product('01234567',repeat=8): x=''.join(i) for i in range(1,len(x)-3): if x[0] in a and x[-1] in a and x[0]!='0' and x[ i] in b and x[i+1] in b and x[i+2] in b:k+=1 print(k)[/pre2] И ответ неправильный (по моему мнению).

Ответов - 4

timsc1: и только три нечётные цифры стоят рядом. Это означает, что только три нечётные цифры подряд ограничены по бокам чётными цифрами. Мы игнорируем числа, где четыре нечётные цифры стоят рядом.

Aleksey6819: timsc1 пишет: Это означает, что только три нечётные цифры подряд ограничены по бокам чётными цифрами. Мы игнорируем числа, где четыре нечётные цифры стоят рядом. Я это прекрасно понимаю. Не будем перебирать все числа, а посмотрим, какой даст ответ предложенный автором алгоритм для одного числа: [pre2]a='0246' b='1357' k=0 x='21111110' for i in range(1,len(x)-3): if x[0] in a and x[-1] in a and x[0]!='0' and x[ i] in b and x[i+1] in b and x[i+2] in b:k+=1 print(k)[/pre2] И получим ответ - 4, но это число не соответствует заданию и ответ должен быть - 0.

Aleksey6819: В задаче 6901, у которой похожий алгоритм (от автора) тоже присутствует ошибка.


Ж: Условие задачи уже исправлено: (П. Финкель) Коля записывает восьмизначные восьмеричные числа, которые начинаются и заканчиваются чётной цифрой и по крайней мере три нечётные цифры стоят рядом. Сколько таких чисел может записать Коля?



полная версия страницы