Вопрос с интервью:
Для функции f (x), которая в 1/4 раза возвращает 0, 3/4 раза возвращает 1. Напишите функцию g (x), используя f (x), которая 1/2 раза возвращает 0, 1/2 раза возвращает 1.
Моя реализация:
function g(x) = {
if (f(x) == 0){ // 1/4
var s = f(x)
if( s == 1) {// 3/4 * 1/4
return s // 3/16
} else {
g(x)
}
} else { // 3/4
var k = f(x)
if( k == 0) {// 1/4 * 3/4
return k // 3/16
} else {
g(x)
}
}
}
Я прав? Какое ваше решение (вы можете использовать любой язык)