Помогите срочно) Найти нужно F(13)

Реклама
Dsrtg
Alviko
Да ну... я же не негр
Alviko
Фигнёй такой страдать, рисовать на бумажке, как компьютер по строкам считать будет.
dsrtg
блиин, я прост не знаю как её решать
dsrtg
можешь помочь?
Alviko
Вставить печать после каждой строки. Выполнить и списать результаты
Alviko
Это называется трассировкой
dsrtg
(write)
Alviko
Writeln(имя переменной, которая стоит в левой части присваивания);
dsrtg
спасибо
dsrtg
сейчас попробую

Ответы и объяснения

dsrtg
vladmor
vladmor

1. Наличие ошибок в синтаксисе. Например присутствие ";" перед else.
2. Вы используете рекурсивную функцию, а описываете ее как процедуру ...
Вариант решения:

var
  a: integer;
function F(n:integer):integer;
begin
  write(n,' ');
  if n<>1 then
    if n mod 2=0 then
      f(n+1)
    else
      f(n div 2);
end;

begin
  readln(a);
  writeln(F(a));
end.

Для F(13) получите:
13 6 7 3 1 0

5.0
1 оценка
1 оценка
Оцени!
Оцени!