Рубрики

ВОРОТА | GATE CS 2011 | Вопрос 48

Рассмотрим следующую рекурсивную функцию C, которая принимает два аргумента

unsigned int foo(unsigned int n, unsigned int r) {

  if (n  > 0) return (n%r +  foo (n/r, r ));

  else return 0;

}

Каково возвращаемое значение функции foo, когда она вызывается как foo (345, 10)?
(А) 345
(Б) 12
(С) 5
(D) 3

Ответ: (Б)
Объяснение: Вызов foo (345, 10) возвращает сумму десятичных цифр (потому что r равно 10) в числе n. Сумма цифр для 345 составляет 3 + 4 + 5 = 12.

Рекомендуемые посты:

ВОРОТА | GATE CS 2011 | Вопрос 48

0.00 (0%) 0 votes