将整数划分成几乎相等的元素

时间:2018-12-28 12:00:01

标签: java divide

在某处是否存在将整数或十进制数分成尽可能相等并求和为输入值的函数?

我正在寻找可以像这样工作的东西:

devide(4,2) -> {2,2}(2 + 2 = 4、2和2相等)

devide(6,4) -> {2,2,1,1}(2 + 2 + 1 + 1 = 6,无法使这些数字彼此接近)

我知道我自己可以做,但是我正在寻找一些库函数。

1 个答案:

答案 0 :(得分:1)

我从来没有听说过可以做到这一点的库,但这很容易。只需将商放在除数大小的数组的每个单元中,然后将余数放在每个单元中。

示例:

public static int[] divide(int n, int d){ //d for divisor
    int[] res = new int[d];
    int qu = n/d; //quotient
    int rm = n%d; //remainder 
    for(int i=0; i<d; i++){
        res[i] = qu;
        if(i  < rm){
            res[i]++;
        }
    }
    return res;
}