ПИТОН ПРОГРАМИРОВАНИЕ ПЖПЖПЖ
Дата публикации:

ПИТОН ПРОГРАМИРОВАНИЕ ПЖПЖПЖ

На ферме проживает колония кроликов, каждый год каждый кролик, которому больше 1 года, производит на свет еще одного кролика. В первый год на ферме был 1 новорожденный кролик.

а) Напишем функцию для подсчета количества кроликов на ферме к определенному году:

def count_rabbits(year):
    if year == 1:
        return 1
    else:
        return count_rabbits(year-1) + count_rabbits(year-2)

б) На соседней ферме кролики умирали после четвертого года от роду. Напишем функцию для подсчета количества кроликов на соседней ферме к определенному году:

def count_rabbits_neighbour(year):
    if year <= 4:
        return 1
    else:
        return count_rabbits_neighbour(year-1) + count_rabbits_neighbour(year-2) - count_rabbits_neighbour(year-5)

в) Напишем программу, которая принимает на вход 3 числа: m, n, k и выводит количество кроликов на ферме на k-й год:

def count_rabbits_custom(m, n, k):
    rabbits = [0] * (k+1)
    rabbits[m] = 1
    for i in range(m+1, k+1):
        rabbits[i] = rabbits[i-1] + rabbits[i-2] - (rabbits[i-n-1] if i > n+1 else 0)
    return rabbits[k]

m = int(input("Введите возраст, с которого кролики начинают приносить потомство: "))
n = int(input("Введите возраст, до которого кролики живут: "))
k = int(input("Введите год, на который нужно посчитать количество кроликов: "))

print(f"Количество кроликов на ферме на {k}-й год: {count_rabbits_custom(m, n, k)}")

Таким образом, мы создали функции и программу на Python для подсчета количества кроликов на ферме и на соседней ферме, а также для расчета количества кроликов на ферме с учетом пользовательских параметров.