首页 / C# / c# – 将num分隔为元素
c# – 将num分隔为元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 将num分隔为元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1169字,纯文字阅读大概需要2分钟。
内容图文
![c# – 将num分隔为元素](/upload/InfoBanner/zyjiaocheng/811/59be276984c7450fb67086d13ac506d7.jpg)
我试图将一个数字“分离”成X个元素.
我的意思是,如果我的数字是12并且我想要的元素数(X)是6,我想为每个元素分开12/6 = 2,即:
[0] = 2, [1] = 2, [2] = 2, [3] = 2, [4] = 2, [5] = 2 (Total 12)
如果我的数字是13,那么13/6 = 2.1666在这种情况下我如何分离每个元素?就像这样:
[0] = 3, [1] = 2, [2] = 2, [3] = 2, [4] = 2, [5] = 2 (Total 13)
或者如果我的数字是10,10 / 6 = 1.66
[0] = 2, [1] = 2, [2] = 2, [3] = 2, [4] = 1, [5] = 1 (Total 10)
我该怎么做?
解决方法:
一种方法是:
>创建一个长度为numberOfParts的数组,
>重复数次,
>递增数组的每个元素
>如果到达阵列结束,
>返回数组的开头并递增
在代码中:
private static int[] SeparateNumber(int number, int parts) {
var array = new int[parts];
int index = 0;
for (int i = 0 ; i < number ; i++) {
array[index++]++;
if (index == parts) { // end of array reached
index = 0;
}
}
return array;
}
这有点像你将一副牌分成堆栈.你处理numberOfStacks卡,然后你按顺序处理每个堆栈顶部的卡,直到你用完卡.
这是一个程序性更小,功能更强的解决方案:
private static int[] SeparateNumber(int number, int count) {
var remainder = number % count;
var quotient = number / count;
return Enumerable.Repeat(quotient + 1, remainder)
.Concat(Enumerable.Repeat(quotient, count - remainder)).ToArray();
}
内容总结
以上是互联网集市为您收集整理的c# – 将num分隔为元素全部内容,希望文章能够帮你解决c# – 将num分隔为元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。