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

Задача . П 78


Задача

Темы:
Вызов представленной ниже рекурсивной функции приводит к появлению на экране чисел и точек. С каким минимальным натуральным аргументом а нужно вызвать эту функцию, чтобы в результате на экране появилось 5 точек (не обязательно подряд, между точками могут встречаться числа)?
Паскаль Си
function gz(a:integer):integer;
var p:integer;
begin
  if a<1 then begin
   gz:=1; exit;
  end;
  if a mod 3=0 then begin
   write('...');
   p:=gz(a div 3)+gz(a div 4);
  end
  else begin
    write('.');
    p:=gz(a div 4);
  end;
  write(p);
  gz:=2;
end;
int gz(int a){
  int p;
  if (a < 1) return 1;
  if (a % 3==0){
     printf("...");
     p=gz(a / 3) + gz(a / 4);
  }
  else {
     printf(".");
     p=gz(a / 4);
  }
  printf("%i",p);
  return 2;
}


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

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