我需要创建一个返回数字升序的函数,如果我们在视觉上绘制,应该看起来像这样弯曲:
预期结果示例:0, 110, 650, 1500, 2800, 4800, 7300, 10500, 14500, 19200, ...
老实说,我不知道如何实现这一目标,请提供一些提示或一段代码,或者通过向我提供搜索的确切条款(如果这是数学的东西?),我将非常感谢您的帮助。谢谢。
答案 0 :(得分:3)
尝试Math.Exp(base, exponent)
我相信它有你想要的东西。要影响曲线,请尝试使用系数添加更多项。
例如:
int[] curve = new int[400];
for (int i = 0; i < 400; i++)
{
curve[i]= Math.Exp(i,2) + (4*i); // y=(x^2)+4i
}
您可能需要使用强制转换来将Math.Exp()吐出的Double转换为int(或您喜欢的任何内容)。
答案 1 :(得分:1)
如果您需要从0开始,请尝试Math.expm1(double),
...
for(int i = 0; i < n; i++) {
r[i] = Math.expm1((double)i);
}
...