Задание 16. Информатика. 2022-5
- Просмотры: 53
- Изменено: 24 ноября 2024
Алгоритм вычисления значения функции \(F(n)\), где \(n\) — натуральное число, задан следующими соотношениями:
\(F(n) = 1\) при \( n = 1\);
\( F(n) = n + 2 \cdot F(n-1)\), если \(n\) чётно;
\(F(n) = 1 + 3 \cdot F(n-2) \), если \( n > 1\) и при этом \( n \) нечётно.
Чему равно значение функции \( F(17) \)?
Решение:
Python
def F(n):
if n == 1:
return 1
elif not n % 2:
return n + 2 * F(n-1)
else:
return 1 + 3 * F(n-2)
print(F(17))
C++
#include<iostream>
using namespace std;
int F(int n) {
if (n == 1)
return 1;
else if (n % 2 == 0)
return n + 2 * F(n-1);
else
return 1 + 3 * F(n-2);
}
int main() {
cout << F(17) << endl;
return 0;
}
Java
public class z16_5 {
static int F(int n) {
if (n == 1)
return 1;
else if (n % 2 == 0)
return n + 2 * F(n-1);
else
return 1 + 3 * F(n-2);
}
public static void main(String[] args) {
System.out.println(F(17));
}
}
Ответ: 9841