楼主貌似把条件给错了吧,应该是sum % 100 = 0 吧?不然得不出要求的结论吧?

解决方案 »

  1.   

    每份要能被100整除(可以为0),且要求每份的值尽量接近于sum/n(设此值为X)假设sum = 1300,n = 5 得出 A: sum/n = 260
    sum/n 将值取整,得出B: 2
    差值 C: A-B*100 = 60
    如果C > 100/2 则X = (B+1)*100 否则 X = B*100依此循环递减sum值 ,当sum < B*100时,则是最后一个数据,退出循环。
    1.sum % 10 = 0 应该是 sum % 100 = 0 吧,不然不能满足“每份要能被100整除(可以为0),数组中所有元素的和为sum ”  2.看你的排列好像是随机的,有什么意义?
      

  2.   

    好吧 我有罪 我认错 是sum % 100 = 0 谢谢楼上
      

  3.   

    感谢2楼 3楼 我先试试3楼得逻辑结构我能不能写出来再看看结果怎样!实际意义是 股票交易的买入最小单位是100股,而我想较为平均的分N次买入sum股,且sum是多少不是我能决定的 但sum >= 100 且 sum % 100 = 0
      

  4.   

    如果C > 100/2 则X = (B+1)*100 否则 X = B*100好像有点问题,这样不是变成四舍五入了嘛,这样做后面的值还匹配的起来么
      

  5.   

             int sum = 400;
                int n = 10; ;            int avg = sum / n;//平均值           var res= Enumerable.Repeat(avg, n).ToArray();//把平均值均分放入集合           for (int i = 0; i < n-1; i++)
               {
                   int temp = res[i];
                   res[i] = (res[i] / 100) * 100; //把当前值取整
                   res[i + 1] += temp % 100; //把除以100的余数,并入下个元素
                   
               }