static int F(int x) { if (x % 10 == 0) return 0; return 1 + F(x / 10); }
1. Что делает функция
F
?
1 балл
Вычисляет значение
x^y
При некоторых значениях аргументов будет бесконечная рекурсия
Вычисляет минимальный разряд десятичного числа
x
, в котором стоит
0
Вычисляет остаток от деления
x
на
y
Вычисляет НОД
x
и
y
по алгоритму Евклида
2. Легко проверить, что вызов
F(0)
не породит ни одного рекурсивного вызова
F
. А сколько рекурсивных вызовов
F
породит вызов
F(15)
?
1 балл
static int G(int x, int y) { if (y == 0) return x; else return G(y, x % y); }
3. Что делает функция
G
?
1 балл
При некоторых значениях аргументов будет бесконечная рекурсия
Вычисляет остаток от деления
x
на
y
Вычисляет минимальный разряд десятичного числа
x
, в котором стоит
0
Вычисляет значение
x^y
Вычисляет НОД
x
и
y
по алгоритму Евклида
Расположите карты памяти в порядке, который соответствует порядку выходов из методов.
public class Program { static int Calc(int n) { int res = 1; if (n > 1) res = 1 + Calc(n - 1); return res; } public static void Main() { Console.WriteLine(Calc(3)); } }
4. Расположите карты памяти в том порядке, в который соответствует выходам из рекурсивного метода Calc.
1 балл
D
C
B
A
Расположите карты памяти в порядке, который соответствует порядку выходов из методов.
public class Program { static int Calc(int n) { int res = 1; if (n > 1) res = Calc(n - 1) + Calc(n - 2); return res; } public static void Main() { Console.WriteLine(Calc(2)); } }
5. Расположите карты памяти в том порядке, в который соответствует выходам из рекурсивного метода Calc.
1 балл
D
A
B
C
Постройте дерево рекурсии для приведенного кода.
public class Program { static int Calc(int n) { int res = 1; if (n > 1) res = Calc(n - 1) + Calc(n - 2); return res; } public static void Main() { Console.WriteLine(Calc(3)); } }
6. Выберите подходящее дерево.
1 балл
A
B
C
D
Расположите карты памяти в порядке, который соответствует порядку выходов из методов.
public class Program { static int Calc(int n) { int res = 1; if (n > 1) res = Calc(n - 1) + Calc(n - 2); return res; } public static void Main() { Console.WriteLine(Calc(3)); } }
7. Расположите карты памяти в том порядке, в который соответствует выходам из рекурсивного метода Calc.
1 балл
F
A
D
E
B
C
×
Практика, практика и еще раз практика!
Войдите
или
зарегистрируйтесь
, чтобы отвечать на тесты и решать задачи.