C# 在两个数字之间生成大量范围元素

C# 在两个数字之间生成大量范围元素,c#,asp.net,asp.net-mvc,asp.net-mvc-5,range,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,Range,我正试图找到一个写一个小“算法”的好方法,它可以在这两个数字之间找到一个数学范围: Let's suppose maximum number is 1500 and minimum number would be 1; 通过执行某种数学公式,该方法将能够确定这两个数字之间的最佳范围,比如说100 因此,范围将是: 100200300400500600700800900100011001200130014001500 其他例子: var min = 132.5; var max = 1326.

我正试图找到一个写一个小“算法”的好方法,它可以在这两个数字之间找到一个数学范围:

Let's suppose maximum number is 1500 and minimum number would be 1; 
通过执行某种数学公式,该方法将能够确定这两个数字之间的最佳范围,比如说100

因此,范围将是:

100200300400500600700800900100011001200130014001500

其他例子:

var min = 132.5;
var max = 1326.44;
var count = 7;

var step = (max - min) / count;

var items = new List<double>();
for (var i = min; i <= max; i += step)
{
    items.Add(i);
}
最大值为10,最小值为1

最好的范围是(比方说):

c#中是否有提供这种解决方案的库,或者是否有一些简洁的数学公式用于确定这一点

伙计们,数字中也可能有余数


我猜我可以把最大的数分成7个固定的组,然后把被分割的数相加,直到得到最大值,不是吗

好了,伙计们,我想出了一个主意,假设最大值是一个浮点数,是:1326.44…,而最小值是132.5

I'm going to say that maximum range can be 7... So what I can do is divide 1326.44 with 7 and I'll get 189.49 
因此,范围内的第一个金额是:

var ranges = new[] { 132.5, 189.5 ... /*Now I just need to dynamically somehow add the rest of the range elements?*/ };

这其实非常简单。您有一个“最小范围”值和一个“最大范围”值,并且您希望范围内有特定数量的项目。因此,您只需计算一个步长值,然后将其递归地添加到最小值,直到达到最大值。例如:

var min = 132.5;
var max = 1326.44;
var count = 7;

var step = (max - min) / count;

var items = new List<double>();
for (var i = min; i <= max; i += step)
{
    items.Add(i);
}
var最小值=132.5;
var max=1326.44;
var计数=7;
变量步长=(最大-最小)/计数;
var items=新列表();

对于(var i=min;我基本上你想找到一个简单的没有余数的除法的复杂数学表达式?@Tinwor是的,可能有余数,我忘了提到……我猜我可以把最大数分成6个固定的组,然后把被除数加起来,直到得到最大值,不是吗?不幸的是,它没有余数o您可以决定要分成多少组population@Tinwor假设是7,我已经编辑了我的答案…我现在只需要以某种方式动态获取其余元素的值