Задания
Версия для печати и копирования в MS Word
Тип 8 № 26982
i

Сколь­ко су­ще­ству­ет ше­сти­знач­ных чисел, де­ля­щих­ся на 5, в ко­то­рых каж­дая цифра может встре­чать­ся толь­ко один раз, при этом ни­ка­кие две чётные и две нечётные цифры не стоят рядом.

Спрятать решение

Ре­ше­ние.

За­ме­тим, что чётных и нечётных цифр 5 и 5 со­от­вет­ствен­но. Чтобы число де­ли­лось на 5, не­об­хо­ди­мо, чтобы на конце числа сто­я­ла цифра 5 или 0. Найдём ко­ли­че­ство ше­сти­знач­ных чисел, де­ля­щих­ся на 5 и на­чи­на­ю­щих­ся с нечётной цифры: 5 · 4 · 4 · 3 · 3 · 1  =  720. Найдём ко­ли­че­ство ше­сти­знач­ных чисел, де­ля­щих­ся на 5 и на­чи­на­ю­щих­ся с чётной цифры (при этом число не долж­но на­чи­нать­ся с нуля): 4 · 4 · 4 · 3 · 3 · 1  =  576. Таким об­ра­зом, по­лу­ча­ем ответ: 720 + 576  =  1296.

 

Ответ: 1296.

 

При­ведём дру­гое ре­ше­ние на языке Python.

import itertools

alphabet = "0123456789"

ar = itertools.permutations(alphabet, 6) #Раз­ме­ще­ние

arl = []

for e in ar:

arl.append(list(e))

count = 0

for e in arl:

flag = True

for i in range(len(e)-1):

if (e[0] == "0") or (int(e[i]) % 2 == 0 and int(e[i+1]) % 2 == 0) or (int(e[i]) % 2 != 0 and int(e[i+1]) % 2 != 0) or (e[5] != "5" and e[5] != "0"):

flag = False

if flag:

count += 1

print(count)

 

При­ведём ре­ше­ние Ильи Ан­дри­а­но­ва на языке Python.

from itertools import permutations

count = 0

for var in permutations('0123456789', 6):

num = ''.join(var)

if num[0] != '0' and num[-1] in '05':

num = num.replace('0', '2').replace('4', '2').replace('6', '2').replace('8', '2')

num = num.replace('3', '1').replace('5', '1').replace('7', '1').replace('9', '1')

if '22' not in num and '11' not in num:

count += 1

print(count)

 

При­ведём ре­ше­ние Сер­гея Донец на PascalABC.NET:

begin

'0123456789'.Permutations(6) // 10-рич­ная 6-знач­ных

.Where(s->(s[1] <> '0')and((s[6] = '0')or(s[6] = '5')) ) // Пер­вой циф­рой не может быть 0

.Where(s->not s.IsMatch('[02468][02468]')) //не две чётные цифры рядом

.Where(s->not s.IsMatch('[13579][13579]')) //не две нечётные цифры рядом

.Count.Print;//1296

end.

Источник: ЕГЭ по ин­фор­ма­ти­ке 03.07.2020. Ос­нов­ная волна
Раздел кодификатора ФИПИ: 1.6.1 Фор­ма­ли­за­ция по­ня­тия ал­го­рит­ма