Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AnalDesperation
Сообщений: n/a
#1

Какое число вернет foo(5)? - C++

05.07.2013, 01:13. Просмотров 388. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
int foo (int n) {
   if (n <= 0)
       return 0;
   return foo (n - 2) + foo (n / 2) + 1;
}
Вставляю код, выполняю с нужным параметром и все хорошо, ответ найден и равен 6. Но на тесте вместо компилятора будет листочек и ручка. Подскажите пожалуйста, как это вообще можно посчитать вручную? Или как удобней всего будет изобразить это на бумаге, чтобы не запутаться, а то уже несколько раз пытался нарисовать, но всякий раз выходит что-то не то.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2013, 01:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какое число вернет foo(5)? (C++):

Задачка: какое значение вернет foo(7)? - C++
Как решаются такие рода задачки, подскажите пожалуйста. int foo(int n) { if(n&lt;=0) return 1; else return...

Какое значение вернет программа операционной системе? - C++
Допустим, в программе присутствует следующий код: int fn(int a) { return a++; } void main() { int x = fn(7); return x; } ...

Какое значение вернет функция system, если задана неверная команда - C++
Подскажите какое значение вернет функция system, если задана неверная команда, например открытие несуществующего или защищенного каталога?

Foo::foo(): x(dx), y(dy) {}; Зачем - C++
Очень часто видел конструктор типа Foo::foo(): x(dx), y(dy) {}; Сам использовал только в инициализации структур. Какие отличия от...

Определить какое число - C++
Данная последовательность: 19, 39, 59, 79, 99, 119 ... И нужно определить, если введенное число относится к этой последовательности....

Какое число встретится раньше - C++
C# 1.Ввести N чисел ,(N\geq3). Выяснить максимальное или минимальное число встретится в этой последовательности раньше! 2.ввести 2...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
05.07.2013, 01:25 #2
AnalDesperation на бумаге рисуй как-бы лес вызовов. А текстом - так:
Код
Вызываем Foo(5). 5>0, то Foo(5) = Foo(3) + Foo(2) + 1;
     Вызываем Foo(3). 3>0, то Foo(3) = Foo(1) + Foo(1) + 1;
       Вызываем два раза Foo(1). 1>0, то Foo(1) = Foo(-1) + Foo(0) + 1;
        Вызываем Foo(-1). -1<0, то Foo(-1) = 0.
        Вызываем Foo(0). 0==0, то Foo(0) = 0.
       Foo(1) = 0 + 0 + 1 = 1;
     Foo(3) = Foo(1) + Foo(1) + 1 = 1 + 1 + 1 = 3;
    Вызываем Foo(2). 2>0, то Foo(2) = Foo(0) + Foo(1) + 1;
     Вызываем Foo(0). 0=0, то Foo(0) = 0;
     Вызываем Foo(1). 1>0, то Foo(1) = Foo(-1) + Foo(0) + 1;
       Вызываем Foo(-1). -1<0, то Foo(-1) = 0.
       Вызываем Foo(0). 0==0, то Foo(0) = 0.
     Foo(1) = 0 + 0 + 1 = 1;
И т.д.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2013, 01:25
Привет! Вот еще темы с ответами:

Как запомнить какое-то число? - C++
Привет, есть проблема. Есть какая-то функция или условие. Внутри нее мы создали переменную number, ввели его. Нужно чтобы этот number...

Обеспечить вызов функции foo в x% случаев - C++
Добрый день! Возникла следующая трудность. Есть функции void increment() и void decrement(). Есть цикл до 100, в котором...

Какое число будет через n дней - C++
Есть дата 01.01.2008. Вопрос какой день будет через n (0&lt;= n &lt;=1000) дней (c учётом високосных годов)? Пример: n=1 cout &lt;&lt;...

Какое число встречается в последовательности раньше - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; main() { int n=10,i,a; printf(&quot;vvedite cikl\n&quot;); for (i=1;i&lt;=n;i++) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru