我想做这样一个方法,例如10,分3段,平均分的话都是3.33;但这不是我要的,我要分成的是3,3,4或3,4,3或4,3,3其中的一个,有哪位高手指点我一下,十分感谢!

解决方案 »

  1.   

    x/3=一个数   这一个数*3等于这个x  等两个真接int  后一个+1后int
      

  2.   

    int i=10/3==3
    int j=10%3==1
    int res [3];
    for(int k=0;k<3;k++)
    {
    res[k]=i;
    if(j>0)
    {
    res[k]+=1;
    j--;
    }
    }
      

  3.   

    n/3=j,这样三个数都是j;然后随便挑一个j+=n-3*j,就OK了。
      

  4.   

    private static int[] GetAvg(int m,int n)
            {
                if (n <= 0)
                    return null;
                int[] result = new int[n];
                int yu = m / n;
                int mo = m % n;
                for (int i = 0; i < n; i++)
                {
                    if (i < mo)
                        result[i] = yu + 1;
                    else
                        result[i] = yu;
                }
                return result;
            }
    负数不好用