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