2016-11-26 2 views
-2

Существует X сумма, и я должен узнать долю N-го человека в соответствии с их рядами. Например:Как разделить ранг X ранга?

There are 5 persons (N) and amount is said to be 100 (X). 
Now the first person gets the most and last person gets the least, and other gets according to their rank wise in order. Like this: 
1st -> 30 
2nd -> 25 
3rd -> 20 
4th -> 15 
5th -> 10 

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

Это необходимо сделать в Python. Есть идеи?

+0

Просьба уточнить ваш вопрос. Все значения будут кратными 5? Значения являются уменьшающейся арифметической последовательностью? Что вы подразумеваете под «справедливым»? В вашем примере могли бы быть значения '22,21,20,19,18'? Просто какой вывод вы хотите: функция, возвращающая долю N-го человека, список, распечатку, другое? Наконец, какой код вы пробовали? –

+0

@Rory, Это должно быть Уменьшение арифметической последовательности, я использовал только 5, например. –

+0

Что такое «достаточно справедливо, чтобы быть злым»? Пока вы не уточните, что вопрос программирования невозможен. –

ответ

1

Если дивизия должна быть такой, чтобы разница была постоянной, вы знаете, что средний человек (N/2) получит X/N. Лицо в N/2-1 получит X/N + difference, N/2-2 получит X/N + 2*difference и т. Д.

+0

Спасибо за ответ, вот что я с нетерпением жду. –