Определите, количество чисел K, для которых следующая программа выведет такой же результат, что и для K = 36:
Паскаль |
Си |
Python |
var i, k: integer;
function F(x:integer):integer;
begin
if x < 2 then
F:= 1
else F:= F(x-1) + 2*F(x-2);
end;
begin
i := 28;
readln(K);
while (i > 0) and (F(i) > K) do
i:=i-1;
writeln(i);
end.
|
#include<stdio.h>
int F(int x)
{
if (x < 2) return(1);
else return(F(x-1) + 2*F(x-2));
}
int main(void)
{
int i, K;
i = 28;
scanf(″%d″, &k);
while (i > 0 && F(i) > K)
i=i-1;
printf(″%d″, i);
}
|
def F(x):
if x < 2:
return 1
else:
return F(x-1) + 2*F(x-2)
i = 28
k = int(input())
while i > 0 and F(i) > k:
i -= 1
print (i) |