Задать вопрос
Mouvdy
@Mouvdy

Какая математическая формула?

Приветствую,

Разрабатываю лоттерею и столкнулся с тем, что не могу подобрать формулу для разделения выиграшей между участнимаки, надеюсь на вашу помощь, вот сама суть:

2й получает выиграш в 2 раза меньше чем первый
3й получает в 2 зара меньше чем 2й

Выиграш: 100
Выиграшных мест: 3

Должно быть так x + 2x + 4x = 100

Если выиграшных мест 4:
x + 2x + 4x + 8x = 100

Если выиграшных мест 5:
x + 2x + 4x + 8x + 16x = 100

Если выиграшных мест 6:
x + 2x + 4x + 8x + 16x + 32x = 100

Не могу сообразить по какой формуле можно автоматически расчитывать при если варьируется кол-во выиграшных мест, надеюсь на помощь со стороны сообщества!
  • Вопрос задан
  • 288 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если n - количество участников
1x+2x+4x+...+2n-1x = (2n-1)x = 100
x = 100/(2n-1)
Каждый победитель получает (i - занятое место)
Pi = 2n-ix = 100*2n-i/(2n-1)
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@nirvimel
x = s / (2^(n-1) - 1), где s - сумма выигрыша; n - количество "мест".

1531f4d51b2d46ff85df51323d91b79f.png
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
А вы попробуйте от противного пойти. К примеру - первая группа победителей получает "половину фонда призов". Следующая группа половину от оставшейся половины и т.д. Проблема будет только настроить точку, после которой делить приз перестаем.
Ответ написан
@uwini
2^n-1, где n - число выигрАшных мест
Ответ написан
Комментировать
Sanan07
@Sanan07
Писатель-прозаик
В цикле от 0 до кол-ва мест-1 прибавляешь 2 в степени итерации цикла. Например для 6 мест
Sting S = "";
for(int i=0;i<6;i++) {
   S+=(int)(Math.pow(2,i))+"x";
}
Ответ написан
Комментировать
1 + 2 + 4 + ... = 2⁰ + 2¹ + 2² + ... = 2ⁿ - 1
(2ⁿ - 1)x = 100
x = 100 / (2ⁿ - 1)

Где x - выигрыш последнего выигрышного места

Например при 4 участниках x = 100 / (2⁴ - 1) = 100 / 15
Выигрыши: 100/15, 2*100/15, 4*100/15, 8*100/15
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы