作业帮 > 数学 > 作业

请教一个数字分配组合的算法

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/16 17:08:17
请教一个数字分配组合的算法
1.有 (M)*(N) 个随机的自然数.
2.要把这些自然数分成(M)组,每组 (N)个自然数.
3.每组的自然数相加之和为(K)
怎样给这些自然数分组才能让每一组的 (K)值都比较相近.每组的(K)值不定非得相等,比较相近即可.
比如说有 6,4,15,9,90,48,17,8,35,要把他们分成 A B C 三组,每组3个数.怎样分配,才能使得 (A-B)( A-C)( B-C) 得到的绝对值比较相近,不会有较大差值出现.
如下步骤:
1、将M*N个数从小到大依次排序.
2、从大到小依次分成M个预备组(每组N个数).
3、调整排序:依次从最小的预备组选一个最大的数作为新序中的第一个数、最大的预备组选一个最小的数作为新序中的第二个数、次最小的预备组选一个最大的数作为新序中的第三个数、次最大的预备组选一个最小的数作为新序中的第四个数.依次交替进行下去,直到把所有的数选取重新站队排序.
4、在新序列中从前到后分成M个组(每组N个数).
完成分组.