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

0 голосов

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


image

спросил от Начинающий (145 баллов) в категории Информатика
оставил комментарий от Архангел (142k баллов)

Да ну... я же не негр

оставил комментарий от Архангел (142k баллов)

Фигнёй такой страдать, рисовать на бумажке, как компьютер по строкам считать будет.

оставил комментарий от Начинающий (145 баллов)

блиин, я прост не знаю как её решать

оставил комментарий от Начинающий (145 баллов)

можешь помочь?

оставил комментарий от Архангел (142k баллов)

Вставить печать после каждой строки. Выполнить и списать результаты

оставил комментарий от Архангел (142k баллов)

Это называется трассировкой

оставил комментарий от Начинающий (145 баллов)

(write)

оставил комментарий от Архангел (142k баллов)

Writeln(имя переменной, которая стоит в левой части присваивания);

оставил комментарий от Начинающий (145 баллов)

спасибо

оставил комментарий от Начинающий (145 баллов)

сейчас попробую

1 Ответ
0 голосов
ответил от Бакалавр (13.9k баллов)

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

...