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

Опре­де­ли­те ко­ли­че­ство пя­ти­знач­ных чисел, за­пи­сан­ных в вось­ме­рич­ной си­сте­ме счис­ле­ния, в за­пи­си ко­то­рых толь­ко одна цифра 6, при этом ни­ка­кая нечётная цифра не стоит рядом с циф­рой 6.

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

Ре­ше­ние.

В вось­ме­рич­ной си­сте­ме счис­ле­ния всего во­семь цифр: 0, 1, 2, 3, 4, 5, 6, 7.

Пусть цифра 6 стоит на пер­вом месте, на вто­ром месте может сто­ять любая из трёх остав­ших­ся чётных цифр. На осталь­ных по­зи­ци­ях может сто­ять любая из семи остав­ших­ся цифр. Всего чисел по­лу­чит­ся 1 · 3 · 7 · 7 · 7  =  1029.

Пусть цифра 6 стоит на вто­ром месте. Тогда на пер­вом месте могут сто­ять дру­гие два чётных числа (0 сто­ять не может, по­сколь­ку число не может на­чи­нать­ся с нуля). На тре­тьем месте может сто­ять любая из трёх остав­ших­ся чётных цифр. На осталь­ных по­зи­ци­ях могут сто­ять любые из 7 цифр. Всего чисел по­лу­чит­ся 2 · 1 · 3 · 7 · 7  =  294.

Пусть цифра 6 стоит на тре­тьем месте. Тогда на вто­ром и чет­вер­том месте может сто­ять любая из остав­ших­ся чётных цифр, на пер­вом месте может сто­ять любая из 6 цифр (0 сто­ять не может, по­сколь­ку число не может на­чи­нать­ся с нуля), а на остав­ших­ся по­зи­ци­ях может сто­ять любая из 7 цифр. Всего чисел по­лу­чит­ся 6 · 3 · 1 · 3 · 7  =  378. Столь­ко же чисел по­лу­чит­ся, если по­ста­вить цифру 6 на четвёртое место.

Пусть цифра 6 стоит на по­след­нем месте, на четвёртом месте может сто­ять любая из трёх остав­ших­ся чётных цифр. На осталь­ных по­зи­ци­ях, кроме пер­вой, может сто­ять любая из семи остав­ших­ся цифр. На пер­вом месте может сто­ять любая из 6 цифр (0 сто­ять не может, по­сколь­ку число не может на­чи­нать­ся с нуля). Всего чисел по­лу­чит­ся 6 · 7 · 7 · 3 · 1  =  882.

Таким об­ра­зом, можно со­ста­вить всего 1029 + 378 · 2 + 294 + 882  =  2961.

 

Ответ: 2961.

 

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

count=0

for x1 in '1234567':

for x2 in '01234567':

for x3 in '01234567':

for x4 in '01234567':

for x5 in '01234567':

s = x1+x2+x3+x4+x5

if s.count('6') == 1:

if '16' not in s and '36' not in s and '56' not in s and '76' not in s:

if '61' not in s and '63' not in s and '65' not in s and '67' not in s:

count+=1

print(count)

 

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

count = 0

for i in range(1, 34000):

a = str(oct(i))[2:]

if (len(a) == 5) and (a.count('6') == 1):

if a.index('6') in {0, len(a)-1} and int(a[abs(a.index('6') - 1)]) % 2 == 0:

count += 1

elif int(a[a.index('6')- 1]) % 2 == 0 and int(a[a.index('6') + 1]) % 2 == 0:

count += 1

print(count)

 

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

from itertools import product

count = 0

for num in product('01234567', repeat=5):

s = ''.join(num)

if s[0] != '0':

if s.count('6') == 1:

if all(pair not in s for pair in '16 61 36 63 56 65 76 67'.split()):

count += 1

print(count)

 

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

from itertools import product

count = 0

for num in product('01234567', repeat=5):

if num.count('6') == 1 and num[0] !='0':

x = ''.join(num)

x = x.replace('1','8').replace('3','8').replace('5','8').replace('7','8')

if x.count('86') == 0 and x.count('68') == 0:

count+=1

print(count)

 

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

begin

'01234567'.Cartesian(5) // 8-рич­ная 5-знач­ных

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

.Where(s->s.CountOf('6')=1) //толь­ко одна цифра 6

.Where(s->not s.IsMatch('[6][1357]')) // не стоит рядом с циф­рой 6

.Where(s->not s.IsMatch('[1357][6]')) // не стоит рядом с циф­рой 6

.Count.Print;

end.

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2023 по ин­фор­ма­ти­ке