Алгоритм вычисления значения функции F(n), где n — целое неотрицательное число, задан следующими соотношениями:
F(n) = 0, при n ≤ 1;
Чему равно значение функции F(49)? В ответе запишите только целое число.
Приведём решение задачи на четырёх языках программирования:
| Паскаль |
|---|
function F(N: integer): integer; begin if n <= 1 then F := 0 else if n mod 2 = 1 then F := F(n-1) + 3*n*n else F := (n div 2) + F(n-1) + 2 end; begin writeln(F(49)) end. |
| Python |
def F(n): if n <= 1: return 0 if n % 2 == 1: return F(n-1) + 3*n*n return n // 2 + F(n-1) + 2 print(F(49)) |
| С++ |
#include <iostream> using namespace std; int F(int n){ if(n <= 1) return 0; if(n % 2 == 1) return F(n-1) + 3*n*n; return n/2 + F(n-1) + 2; } int main(){ std::cout << F(49);} |
| Алгоритмический |
алг цел F(цел n) нач выбор при n<=1 : знач:=0 при n>1 и mod(n,2)=1 : знач:=F(n-1)+3*n*n при n>1 и mod(n,2)=0 : знач:=div(n,2)+F(n-1)+2 все кон |
Результат работы программ — 62820.
Ответ: 62820.

