пятница, 13 января 2023 г.

Задачи 10Б (13 января)

Вариант с задачами

Задача 1

 def f(x,y):
    if x>y:
        return 0
    if x==y:
        return 1
    if x<y:
        return f(x+3,y)+f(x*3,y)


print(f(3,93))

Задача 2

 def f(x,y):
    if x>y:
        return 0
    if x==y:
        return 1
    if x<y:
        return f(x+1,y)+f(x*2,y)+f(x+3,y)

print(f(3,12)*f(12,16))

Задача 3

def f(x,y):
    if x>y or x==17:
        return 0
    if x==y:
        return 1
    if x<y:
        return f(x+1,y)+f(x*2,y)

print(f(1,10)*f(10,35)) 

 

Для самостоятельного решения

1. Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

Вычти 1

Найди целую часть от деления на 2

Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на целую часть от деления числа на 2.

Программа для исполнителя – это последовательность команд.

Сколько существует программ, для которых при исходном числе 89 результатом является число 7, и при этом траектория вычислений содержит число 30?

2. Исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:

1. Прибавить 1

2. Прибавить 2

3. Умножить на 2

Первая команда увеличивает число на 1, вторая – на 2, третья – вдвое.

Программа для исполнителя – это последовательность команд.

Сколько существует таких программ, которые исходное число 3 преобразуют в число 25 и при этом в программе есть все три команды?

 

Комментариев нет:

Отправить комментарий