C# 数字 分段 取整

wsndy520 2009-12-24 11:18:53
我想做这样一个方法,例如10,分3段,平均分的话都是3.33;但这不是我要的,我要分成的是3,3,4或3,4,3或4,3,3其中的一个,有哪位高手指点我一下,十分感谢!
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liherun 2009-12-24
  • 打赏
  • 举报
回复
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;
}

负数不好用
cykevin 2009-12-24
  • 打赏
  • 举报
回复
n/3=j,这样三个数都是j;然后随便挑一个j+=n-3*j,就OK了。
十八道胡同 2009-12-24
  • 打赏
  • 举报
回复
先求出10/3=1
然后再把1加到某个段里面,就成为4,3,3了

推而广之,一样的
angel6709 2009-12-24
  • 打赏
  • 举报
回复
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--;
}
}
Return门徒 2009-12-24
  • 打赏
  • 举报
回复
x/3=一个数 这一个数*3等于这个x 等两个真接int 后一个+1后int

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧