<table><tr id='test'><td>......</td></tr>
<tr id='test2'><td>......</td></tr></table>
如 obj=document.getElementById('test').getElementsByTagName("td")
假设 num=500//获取要分配的置
//parseInt取整
var n=parseInt(num/obj.length)//obj.length所有对象集的高度,也就是需要分配的对象个数
var y=num-(n*obj.length)
for(var j=0j<obj.lengthj++){
if(y!=0){
obj[j].innerHTML=n+1
}else{
obj[j].innerHTML=n
}
}
/* 是不是这样?最大的5个数分别放在5份之中,然后从后向前扫描,看这5份谁的总和最少,最少的就把当前数分给它,直到结束,本人认为这是最平均的 */#include <stdio.h>
#include <string.h>
int array_sum(int *array, int length)
{
int i, sum = 0
for (i=0i<lengthi++)
{
sum += array[i]
}
return sum
}
void input_array(int *array, int *i, int value)
{
array[(*i)] = value
(*i)++
}
int main(void)
{
int i, j, k, t, a[100]
int group[5][100]
int g[5]
for (i=0i<100i++) /* 可以自己输入数据 */
{
a[i] = i
}
memset(group, 0, sizeof(group))
memset(g, 0, sizeof(g))
for (i=99i>=0i--)
{
k = 0/* 先假定为第0号组 */
t = array_sum(group[0], 100)
for (j=1j<5j++)
{
if (t >array_sum(group[j], 100))
{
t = array_sum(group[j], 100)/* 找出最小的 */
k = j/* 记住是哪一组 */
}
}
input_array(group[k], &g[k], a[i])
}
for (i=0i<5i++)
{
printf("group %d total: %d\n", i+1, array_sum(group[i], 100))
}
return 0
}
输出:
group 1 total: 990
group 2 total: 990
group 3 total: 990
group 4 total: 990
group 5 total: 990
共两种送法。
1、送法一:
数学家的故事送给小红,另一本其他的书送给小丽。
2、送法二:
数学家的故事送给小丽。另一本其他的书送给小红。
相关应用:
分配数列在统计研究中具有重要意义。分配数列是统计分组结果的主要表现形式,也是统计分析的一种重要方法。它可以表明总体单位在各组的分布特征、结构状况,并在这个基础上来进一步研究标志的构成、平均水平及其变动规律性。
扩展资料
分配算法在采用固定分配策略时,如何将系统中可供分配的所有内存块分配给各个进程,这就是分配算法需要做的事情,可以采用下述几种算法。
1、平均分配算法:
这种方法是将内存中所有可用的内存块平均分配给各个进程。
2、按比例分配算法:
这是根据进程的大小按比例分配内存块的算法。
3、优先权法:
在实际应用中,为了照顾到重要的、紧迫的作业能尽可能快地完成,应该为其分配较多的内存空间。通常采用的方法是把内存中可供分配的所有内存块分成两部分。在有的系统中,如重要的实时控制系统,则可能要完全按优先权为各个进程分配内存块。