↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
leprechaun
24 марта 2016
Aa Aa
#айнидсомбадихелп #янепрогерятолькоучусь
Попалась маленькому глупому школьнику задачка. С виду простая, но что-то не решилась.

"При каком значении b будет 8 рекурсивных вызовов функции f:
public int f (int b) {
if (b <= 1) {
return b;
}
return f(b/2) + f(b-1);
}"

Вот хоть убейте, не понимаю, почему b = 4.

Пы.Сы. я ещё в первой строке поста признала, что я глупый школьник. Не надо мне это повторять.
24 марта 2016
5 комментариев
>я ещё в первой строке поста признала, что я глупый школьник. Не надо мне это повторять.

Брандмауэр Windows включен.
ДНИЩE--ЫЫЫЫ
edzidbear
А почему от 2 идёт только 1 ветвь? Должно же быть и 2/2, и 2-1... Или я чего-то не понимаю?
ДНИЩE--ЫЫЫЫ
Ластро
> let f b = if b <= 1 then 0 else 2 + f (b`div`2) + f (b-1)
> map (i -> (i, f i)) [0..10]
[(0,0), (1,0), (2,2), (3,4), (4,8), (5,12), (6,18), (7,24), (8,34), (9,44), (10,58)]
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть