Дата публикации:
ПИТОН ПРОГРАМИРОВАНИЕ ПЖПЖПЖ
На ферме проживает колония кроликов, каждый год каждый кролик, которому больше 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 для подсчета количества кроликов на ферме и на соседней ферме, а также для расчета количества кроликов на ферме с учетом пользовательских параметров.