例如 一個數字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 關注
- 1389 瀏覽
添加回答
舉報
0/150
提交
取消