Олимпиадный тренинг

Задача . 20072


Задача

Темы:
Определите, количество чисел 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)

time 1000 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя