gpt4 book ai didi

c# - 按数量递减将 x 分成 y 部分

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:42 27 4
gpt4 key购买 nike

如果我有 1000 美元(可变),我想把这笔钱分给 20(可变)人,但不是平均地给每个人,我想给第一个人更多,然后第二人称等

所以第 20 个人得到的最少,第 5 个人得到的第 5 多。

我将如何实现?

谢谢

编辑:

公式:

int people = 20;
float prize = 1000;

float k = (2 * prize) / ((people) * (people - 1));
float sum = 0;

for (int i = 1; i < people; ++i)
{
var personsPrize = i * k;
sum += personsPrize;
Console.WriteLine(personsPrize);
}
Console.WriteLine("sum = " + sum);

最佳答案

公式正确,需要一点修改。

  1. 不要将 float 转换为 int,数据丢失!
  2. 当从第一个人到第n-1个人的时候

    int people = 20;
    float prize = 1000;

    float k = (2 * prize) / ((people) * (people - 1));
    float sum = 0;

    for (int i = 1; i < people; ++i)
    {
    var personsPrize = i * k;
    sum += personsPrize;
    Console.WriteLine(personsPrize);
    }
    Console.WriteLine("sum = " + sum);

关于c# - 按数量递减将 x 分成 y 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56335729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com