Форум » Рекурсивные процедуры и функции » 16 103(Волгин) » Ответить

16 103(Волгин)

Anna: Здравствуйте. Подскажите, как тут действовать? Задача: "103) (П. Волгин) Алгоритм вычисления функции F(n), где n – целое неотрицательное число, задан следующими соотношениями: F(0) = 1 F(n) = F(n–2), при 0 < n ≤ 10 F(n) = 2,2*F(n–3), при 10 < n <100 F(n) = 1,7*F(n–2), при n ≥ 100 Чему равна целая часть значения функции F(22)?" При вычислении F(1)=F(-1). Как вычислить значение F(1) оно потом требуется при вычислении. Или его за 0 принимать?Этого нигде не сказано.

Ответов - 3

romad: Имейте в виду, что условие авторами скорректировано 5 июня в части F(n) = F(n–2), при 0 < n ≤ 10 на F(n) = F(n–1), при 0 < n ≤ 10 def f(n): if n == 0:return 1 if 0 < n <= 10:return f(n-1) if 10 < n < 100:return 2.2 * f(n-3) if n >= 100: return 1.7 * f(n-2) print(int(f(22))) Ответ: 23

Александр Maas: Здравствуйте. В следующей задаче П.Волгина №104 (4187), приводится как раз такой алгоритм, что был приведен ТС. F(n) = F(n–2), при 0 < n ≤ 10 При вычислении F(1), получаем: F(-1)? хотя в условии сказано, что для функции F(n), n – целое неотрицательное число. Какой-то хитрый или скрытый смысл скрывается в задаче?

Поляков: Александр Maas пишет: Какой-то хитрый или скрытый смысл скрывается в задаче Нет, просто опечатка. Спасибо, она исправлена. Там F(n-1).




полная версия страницы