Задать вопрос
26 ноября, 09:49

Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F (3) ?

void F (int n)

{

cout << n;

if (n > 1)

{

F (n - 1) ;

F (n - 3) ;

}

}

+5
Ответы (2)
  1. 26 ноября, 10:11
    0
    Решение - в прилагаемом файле.

    Ответ: 3+2+1-1+0 = 5
  2. 26 ноября, 10:52
    0
    В данном задании при вызове функции сразу выводится "n", независимо от условия "if (n > 1) ". Проще всего нарисовать дерево.

    Разберем построчно, не считая фигурных скобок:

    1 а. Вызываем F (3).

    2 а. Выводится "3" (на выводе: 3).

    3 а. Так как выполняется условие "if (n > 1) " (3 больше 1), то от F (3) идет две функции:

    F (3-1) = F (2) ;

    F (3-3) = F (0) ;

    1 б. Приступаем к F (2).

    2 б. Выводится "2" (на выводе: 3, 2).

    3 б. Так как выполняется условие "if (n > 1) " (2 больше 1), то от F (2) идет две функции:

    F (2 - 1) = 1;

    F (2 - 3) = - 1;

    1 в. Вызывается F (1).

    2 в. Выводится "1" (на выводе: 3, 2, 1).

    3 в. Так как не выполняется условие "if (n > 1) " (1 не больше 1), то вызов прекращается и идет к F (-1).

    1 г. Вызывается F (-1).

    2 г. Выводится "-1" (на выводе: 3, 2, 1, - 1).

    3 г. Так как не выполняется условие "if (n > 1) " (-1 не больше 1), то вызов прекращается и идет к F (0).

    1 д. Вызывается F (0).

    2 д. Выводится "0" (на выводе: 3, 2, 1, - 1, 0).

    3 д. Так как не выполняется условие "if (n > 1) " (0 не больше 1), то вызов прекращается.

    Итого, вывод: 3, 2, 1, - 1, 0.

    Суммируем данные цифры: 3 + 2 + 1 - 1 + 0 = 5.

    Ответ: 5.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F (3) ? void F (int n) { cout 1) { F (n - 1) ; F (n - 3) ; } } ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы