СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Комбинаторика с числами

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Комбинаторика с числами»

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

Решение:

k1=0

k2=0

for x1 in '1234567':

for x2 in '01234567':

for x3 in '01234567':

for x4 in '01234567':

for x5 in '01234567':

for x6 in '01234567':

for x7 in '01234567':

s=x1+x2+x3+x4+x5+x6+x7

if s.count(x1)==1 and s.count(x2)==1 and s.count(x3)==1 and s.count(x4)==1 and s.count(x5)==1 and s.count(x6)==1 and s.count(x7)==1:

if int(x1)%2==0 and int(x2)%2==1 and int(x3)%2==0 and int(x4)%2==1 and int(x5)%2==0 and int(x6)%2==1 and int(x7)%2==0:

k1=k1+1

if int(x1)%2==1 and int(x2)%2==0 and int(x3)%2==1 and int(x4)%2==0 and int(x5)%2==1 and int(x6)%2==0 and int(x7)%2==1:

k2=k2+1


print(k1+k2)

Ответ: 1008


Задача 2. Сколько существует четырёхзначных чисел, записанных в восьмеричной системе счисления, в записи которых ровно две одинаковые цифры, причём стоящие рядом ?

Решение:

k=0

for x1 in '1234567':

for x2 in '01234567':

for x3 in '01234567':

for x4 in '01234567':

if (x1==x2 and x2!=x3 and x2!=x4 and x3!=x4) or (x2==x3 and x3!=x1 and x3!=x4 and x1!=x4) or (x3==x4 and x3!=x2 and x3!=x1 and x1!=x2):

k=k+1

print(k)

Ответ: 882


Задача 3. Сколько существует различных трёхзначных чисел в шестнадцатиричной системе счисления, в записи которых цифры следуют слева направо в невозрастающем порядке?

Решение:

k=0

for x1 in '123456789ABCDEF':

for x2 in '0123456789ABCDEF':

for x3 in '0123456789ABCDEF':

if x1 = x2 = x3:

k=k+1


print(k)

Ответ: 815


Задача 4.

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


Решение:

k=0

for x1 in '123456789':

for x2 in '0123456789':

for x3 in '0123456789':

for x4 in '0123456789':

for x5 in '0123456789':

for x6 in '0123456789':

for x7 in '05':


s=x1+x2+x3+x4+x5+x6+x7


if s.count(x1)==1 and s.count(x2)==1 and s.count(x3)==1 and s.count(x4)==1 and s.count(x5)==1 and s.count(x6)==1 and s.count(x7)==1:

if x1 in '02468' and x2 in '13579' and x3 in '02468' and x4 in '13579' and x5 in '02468' and x6 in '13579' and x7 in '02468':

k=k+1

if x1 in '13579' and x2 in '02468' and x3 in '13579' and x4 in '02468' and x5 in '13579' and x6 in '02468' and x7 in '13579':

k=k+1


print(k)


Ответ: 2880


Задача 5

Сколько существует восьмеричных пятизначных чисел, не содержащих в своей записи цифру 1, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?


Решение

from itertools import *

k = 0

c = '0246'

n = '357'

for i in permutations('0234567', r=5):

    a=''.join(i)

    if a[0] == '0':

        continue

    if a[0] in c and a[1] in n and a[2] in c and a[3] in n and a[4] in c:

        k+=1

    if a[0] in n and a[1] in c and a[2] in n and a[3] in c and a[4] in n:

        k+=1

print(k)


Ответ: 180