Наверное, с гарантированным ограничением по времени не получится. С негарантированным легко. Вызываем 2 раза, получаем пару (a, b), вычисляем 3a+b-3, если 6 или больше — повторяем, пока полученное значение не станет меньше 6. Можно оптимизировать, но не принципиально.
И правда не получится. Какие хитрые функции не придумывай с
вызовов генератора, все равно будет
вариантов, что никак не делится на 5. Так что придется кое-что проигнорировать. Про оптимизацию можно подумать. В вашем варианте почти половину результатов придется игнорировать, так что думаю, не самый лучший.
Вероятность неудачи
, но зато 4 вызова кажется много. Думаю, 3 будет лучше всего, но надо вычислить...Минимизировать среднее число вызовов.
-- 29.03.2013, 09:12 --Да, среднее число вызовов генератора
В вашем случае, при
..если ничего не перепутал