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

答えをありがとう、それは私が楽しみにしていたものです。 –

関連する問題