首页 新闻 会员 周边 捐助

一个数学计算问题

0
[已解决问题] 解决于 2019-04-01 14:09

假设有起始值2000,结束值15000,通过
第2个数=2000 x(1+key)
第3个数=第2个数 x(1+key)
第4个数=第3个数 x(1+key)
最终第1300个数=15000
求这个key,用c#代码该怎么写

MSky的主页 MSky | 菜鸟二级 | 园豆:436
提问于:2019-03-05 14:05

key 是整数吗?

Shendu.CC 5年前
< >
分享
最佳答案
0

double start = 2000.0000;
double end = 15000.0000;
double key;
key=Math.Pow(end/start, 1d / 1300d);

double end1 =Math.Pow(key, 1300d) * 2000d;
//测试最终end1约等于15000,应该是这样吧

MSky | 菜鸟二级 |园豆:436 | 2019-03-05 14:11
其他回答(4)
0
     double start = 2000;
        double end = 15000;
        double key;
        double dd = 1300;
        key = Math.Pow(end / start, 1 / dd) - 1;

        Console.WriteLine(key);

        double result = start;

        for (var i = 0; i < 1300; i++)
        {
            result *= (1 + key);
        }
        Console.WriteLine(result);

        Console.ReadKey();
dlrowolleh | 园豆:296 (菜鸟二级) | 2019-03-05 14:40
0
static void Main(string[] args)
{
    double from = 2000d;
    double to = 15000d;
    int count = 1300;
    double key = Cal(from, to, count);
    Console.WriteLine(key);
    Console.ReadLine();
}

static double Cal(double from, double to, int count)
{
    double key = Math.Pow(to / from, 1d / (count - 1)) - 1;
    return key;
}
会长 | 园豆:12463 (专家六级) | 2019-03-05 15:32
0

startNum * (1+key)^1300-1 = endNum

  1+key = (1300-1)√endNum/startNum

  key = (1300-1)√endNum/startNum - 1
前行丶 | 园豆:219 (菜鸟二级) | 2019-03-05 16:18
0

等比数列

JackLiMVP | 园豆:202 (菜鸟二级) | 2019-04-01 21:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册