为了账号安全,请及时绑定邮箱和手机立即绑定

java 如何把一堆数平均分成N份

java 如何把一堆数平均分成N份

慕妹3146593 2019-03-13 17:15:25
把一堆数平均分成N份,保证每一份的和接近于所有数之和除以N,不要求平分以后的每份数据个数相等。
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

一堆数?数在堆里?
所有数之和?数量和还是数值和?

将数进行数据结构调整 然后对该数据结构进行分割
或者循环写入n个arr中


查看完整回答
反对 回复 2019-04-23
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

典型贪婪算法


查看完整回答
反对 回复 2019-04-23
?
慕斯709654

TA贡献1840条经验 获得超5个赞

均分和尾差:


<?php

header('Content-Type: text/plain; charset=utf-8');

function tail($num, $fen) {

    $avg  = bcdiv($num, $fen, 2);

    $tail = bcsub($num, $avg*($fen-1), 2);

    echo $num.'='.str_repeat($avg.'+', $fen-1).$tail."\n";

    return array($avg, $tail);

}

var_export(tail(100, 3)); //这堆数的和为100,有3个数

var_export(tail(100, 6)); //这堆数的和为100,有6个数

//输出:

100=33.33+33.33+33.34

array (

  0 => '33.33',

  1 => '33.34',

)

100=16.66+16.66+16.66+16.66+16.66+16.70

array (

  0 => '16.66',

  1 => '16.70',

)


查看完整回答
反对 回复 2019-04-23
  • 3 回答
  • 0 关注
  • 1551 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号