gpt4 book ai didi

objective-c - 计算数组中可以包含的最大对象数

转载 作者:行者123 更新时间:2023-12-01 22:53:22 25 4
gpt4 key购买 nike

我的项目的总体概述是将 x 名学生分成 y 个类(class),同时保持每个类(class)的学生人数大致相等。

即如果有 100 名学生和 5 个类(class)(x = 100,y = 5),则每个类(class)应有 20 名学生。对于这种情况,我可以使用以下代码:

int maxNumberPerClass = x / y;

但是,当有 97 名学生和 5 个类(class)时,上述代码就会出现问题。是的,每个类(class)的学生人数相同,但由于需要有两个 20 人的类(class)和三个 19 人的类(class),因此有些学生不会被安排。

对这个问题的渐进式且有点黑客的修复将产生四个大小为 20 的类和一个大小为 17 的类。

int maxNumberPerClass = ceil(x / y);

此方法的问题是最后一个类(class)(数组中的最后一项)始终包含最少数量的学生。如果这个类和其他类的偏差只是一个学生的话,这还不是问题。但由于本案是两个人,所以这是不公平的。

将 X 个学生分成 Y 个类(class)(学生人数尽可能相等)的最佳方法是什么?

最佳答案

int minNumberOfStudents = floor(x / y);
int maxNumberOfStudents = minNumberOfStudents + 1;
int numberOfClassesWithMaxStudents = x - (minNumberOfStudents * y);
int numberOfClassesWithMinStudents = y - numberOfClassesWithMaxStudents;

关于objective-c - 计算数组中可以包含的最大对象数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27461063/

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