早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求平均分配算法假设有按升序排列好的100个数,如何实现将其分为5份(每份中数字的个数不用相等),并使得每份中所有数之和大致相等?例如:这100个数之和为1000,则要使每份数字的和

题目详情
求平均分配算法
假设有按升序排列好的100个数,如何实现将其分为5份(每份中数字的个数不用相等),并使得每份中所有数之和大致相等?例如:这100个数之和为1000,则要使每份数字的和与(1000/5)相差不超过5%。
另外,每份中最好是大数和小数都要有,即大小搭配~
▼优质解答
答案和解析
/* 是不是这样?最大的5个数分别放在5份之中,然后从后向前扫描,看这5份谁的总和最少,最少的就把当前数分给它,直到结束,本人认为这是最平均的 */
#include
#include
int array_sum(int *array, int length)
{
int i, sum = 0;
for (i=0; i