例如 一个数字100,怎么把100随机分成一个数组,并且这个数组里的和是100,并且这个数组里的每个数字差都不会太大,比如100拆成10,20,15,20,5,30。数组和一定是int类型。求解。
1 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
设数字为N,和的范围为1-N。
1-N之间是若干节点(位置),假设为a,b,c。
线的长度是N,N的长度=各个线段的和
也就是N=(N-c)+(c-b)+(b-a)+(a-0);
SO,可以得出a,b,c就是你要的三个数。
同理,你可以根据自己的需要改成a...n-1个节点,可以是三个数,也可以是四个数,可以随机出一个1至(n-1)的数
“每个数字差都不会太大”,这个就得另外写逻辑了,做减法判断差,如果超过你的指定值,重新随机,如此循环xx下(或者根据XX下选择差最小的那组)
- 1 回答
- 0 关注
- 1320 浏览
添加回答
举报
0/150
提交
取消