
Sergey
16.03.2017
07:03:31
он проходил собеседование в hexlet - и его попросили перевернуть строку,, в смысле метод написать)

I
16.03.2017
07:03:55
так, он что-то ужасное сделал?)

Sergey
16.03.2017
07:04:34
он сам не написал без подсказок
ну там эпик интервью, скорее боль и разочарование

Google

I
16.03.2017
07:05:01
верю
кстати, еще попросили при помощи функции rand2(), которая выдает 1 или 2 сделать функцию rand3(), которая выдает 1 или 2 или 3 с равной вероятностью
это вот вчера в одну контору собеседовался

Alexander
16.03.2017
07:06:39
?
В принципе, изи

Алексей
16.03.2017
07:07:01
звучит интересненько

Sergey
16.03.2017
07:07:06
те свою функцию написать где использовать rand2 () ?

I
16.03.2017
07:07:09
да, изи, я быстро догадался, как сделать
да
правда, я на словах объяснил
было лень писать функцию

Sergey
16.03.2017
07:08:13
rand2() + rand2() пока не больше 3 ?)

Alexander
16.03.2017
07:08:31
Я придумал один способ, но он вроде неправильный, сейчас другой ?

Google

Алексей
16.03.2017
07:08:58
тогда вероятность будет не равной как я понимаю
тип одиночная рекурсия?
тоже нет(

Alexander
16.03.2017
07:10:28

I
16.03.2017
07:10:28
только целые, да

Alexander
16.03.2017
07:12:07

Sergey
16.03.2017
07:12:21
хм, может я херню спорол)
но мне кажется что запускать ни один раз функцию ранд2()

Alexander
16.03.2017
07:13:13

I
16.03.2017
07:13:24
не, проще немного

Alexander
16.03.2017
07:13:40

I
16.03.2017
07:13:52
про рекурсию правы были

Алексей
16.03.2017
07:14:00
так и знал)

Alexander
16.03.2017
07:14:06

I
16.03.2017
07:14:19
равновероятность иначе не сделать

Алексей
16.03.2017
07:14:27

Sergey
16.03.2017
07:14:33
rand2() 0 возвращает или только 1-2 ?

I
16.03.2017
07:14:38
1-2

Google

Alexander
16.03.2017
07:14:40

I
16.03.2017
07:15:18
объясни про 6 решение

Alexander
16.03.2017
07:15:52
Равновероятность ок, вложений нет
Можно сделать округление
Или не ок ? падажди ёбана
Непросто с утра в интерпретатор играть

I
16.03.2017
07:17:41
интересно, почему тогда мне сказали они, что это единственно правильное решение

Sergey
16.03.2017
07:18:05
будет только 2 или 3

Alexander
16.03.2017
07:18:13

Sergey
16.03.2017
07:18:18
а надо же, как я понимаю 1,2,3 в качестве результата?

I
16.03.2017
07:18:25
угу

Sergey
16.03.2017
07:18:38
раз ранд2 выдает только 1 и 2

Alexander
16.03.2017
07:18:44

Sergey
16.03.2017
07:18:45
то в твоем решении возможны две ситуации
хм)

Adamtsov
16.03.2017
07:19:25
Ответ то какой?)

I
16.03.2017
07:19:28
можно вычитать 1 из каждого rand2() - но не знаю, насколько это тогда красиво

Google

Alexander
16.03.2017
07:19:58

I
16.03.2017
07:19:59
# 11 12 21 22
# 1 2 3 повторный вызов

Sergey
16.03.2017
07:20:43
def rand2
1 + rand(2)
end
#
def rand3
rand2 + rand2 - 1
end
20.times do
puts rand3
end
я вот так предлагал в начале, но решил проверить)
2
1
3
3
1
2
1
2
3
2
1
2
2
2
3
2
3
1
2
3

I
16.03.2017
07:21:23
orly?

Sergey
16.03.2017
07:21:31
я не пойму при каком условии выхотели рекурсию юзать

Alexander
16.03.2017
07:21:44

Admin
ERROR: S client not available

Alexander
16.03.2017
07:22:13
Я изначально думал про разделение 2 на 2, но не сообразил до повторного вызова

Sergey
16.03.2017
07:22:19
аа, с равной вероятностью, хм, меня смущает это фраза. Вероятность надо ж как то посчитать

Alexander
16.03.2017
07:22:50
Обратное от возможного количества вариантов

Алексей
16.03.2017
07:23:10

Sergey
16.03.2017
07:23:36
покажите код с использованием рукурсии - я тугодум) я понимаю что рекурмсия это повторный вызов, но у нас должно быть условие, когда завершать рекурсию, или имеете ввиду разово?

Алексей
16.03.2017
07:25:25
математически

Alexander
16.03.2017
07:25:43
Да-да

I
16.03.2017
07:27:19
def rand3
a = rand2
b = rand2
if a == b && a == 2
rand3
else
return 1 if a == 1 && b == 1
return 2 if a == 1 && b == 2
3
end
end
че-т типа такого

Google

Алексей
16.03.2017
07:27:58
хитер

Sergey
16.03.2017
07:28:45
математически
математически нет, согласен) можно посчитать % выдачи результатов на большом количестве итераций) вдруг повезет)))

Алексей
16.03.2017
07:29:19

Sergey
16.03.2017
07:29:56
зато проявить общительность можно) вдруг это важнее, чем написать функцию для выдачи 1,2,3 )

I
16.03.2017
07:30:27

Алексей
16.03.2017
07:30:32

Sergey
16.03.2017
07:30:53
а если а=2, а б =1 - то будет 3, получается что для тройки больше комбинаций. значит вероятности тоже будут не равны

I
16.03.2017
07:31:29
?

Sergey
16.03.2017
07:31:31

Alex
16.03.2017
07:32:11
чтобы было видно что прога работает

Sergey
16.03.2017
07:32:20
?

Alex
16.03.2017
07:32:43
ээ, 200 милисекунд я имел ввиду

Sergey
16.03.2017
07:33:33

I
16.03.2017
07:33:53
лол кек чебурек

Алексей
16.03.2017
07:34:32
смотри там просто убирается случай когда обе двойки
а остальные случаи распределяются на 1 2 и 3

Sergey
16.03.2017
07:35:08
да-да, я признался в своей близорукости, шею на отсечение не дам)

Alexander
16.03.2017
07:41:45
Можно заменить рекурсию на возврат NaN ?