Задания
Версия для печати и копирования в MS Word
Тип 16 № 58220
i

Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n  — целое не­от­ри­ца­тель­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

 F левая круг­лая скоб­ка n пра­вая круг­лая скоб­ка =1 при  n мень­ше 3 ;

F левая круг­лая скоб­ка n пра­вая круг­лая скоб­ка =\sum_i=1 в сте­пе­ни левая круг­лая скоб­ка n минус 1 пра­вая круг­лая скоб­ка F левая круг­лая скоб­ка i пра­вая круг­лая скоб­ка , если  n боль­ше 2.

 

Чему равно зна­че­ние функ­ции F(18)?

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

def F(n):

if n < 3:

return 1

if n > 2:

return sum(F(i) for i in range (1,n))

print(F(18))

 

Ответ: 65536.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Pascal.

function f(n:longint):longint;

var s,i: longint;

begin

if n<3 then

f:=1

else

begin

s:=0;

for i := 1 to n-1 do s := s + f(i);

f := s;

end;

end;

 

begin

writeln (f(18))

end.

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.

for i in range (3,19):

ans = 2**(i-2)

print(ans) #функ­ция воз­вра­ща­ет двой­ку в сте­пе­ни по­ряд­ко­во­го но­ме­ра - 2