C# 将100 比重分配给 n 个人:算法详解及示例
要将 100 的比重分配给 n 个人,可以按照以下步骤进行:
-
计算每个人应该分配的比重:
- 如果 n 个人中有 k 个人需要分配不同的比重,那么这 k 个人的比重为:100 / n * k%
- 如果 n 个人中有 m 个人需要分配相同的比重,那么这 m 个人的比重为:100 / n * m%
-
根据以上计算结果,将比重分配给 n 个人:
- 对于需要分配不同比重的 k 个人,前 k-1 个人分配的比重为:100 / n * k%
- 对于需要分配不同比重的 k 个人,最后一个人分配的比重为:100 - (100 / n * k% * (k-1))
- 对于需要分配相同比重的 m 个人,每个人分配的比重为:100 / n * m%
对于题目给出的例子,9 个人中前 8 个人的比重为 11%,最后一个人的比重为 12%:
-
计算每个人应该分配的比重:
- 前 8 个人需要分配不同比重,即 8 个人的比重为:100 / 9 * 8% = 88.89%
- 最后一个人需要分配不同比重,即 1 个人的比重为:100 / 9 * 1% = 11.11%
-
根据以上计算结果,将比重分配给 9 个人:
- 前 8 个人分配的比重为:100 / 9 * 8% = 88.89%
- 最后一个人分配的比重为:100 - (100 / 9 * 8% * 8) = 100 - 88.89% = 11.11%
因此,在这个例子中,前 8 个人的比重为 88.89%,最后一个人的比重为 11.11%。
原文地址: https://www.cveoy.top/t/topic/fsSm 著作权归作者所有。请勿转载和采集!