同学们 1^r+2^r+3^r+.+24^r+25^r=100 怎么求r 阿就没有不用编程的解法嘛 若是 1^r+2^r+3^r+......+24^r+25^r=14.8 14.8 的 是 一个实际问题

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 12:48:56
同学们 1^r+2^r+3^r+.+24^r+25^r=100 怎么求r 阿就没有不用编程的解法嘛 若是 1^r+2^r+3^r+......+24^r+25^r=14.8 14.8 的 是 一个实际问题

同学们 1^r+2^r+3^r+.+24^r+25^r=100 怎么求r 阿就没有不用编程的解法嘛 若是 1^r+2^r+3^r+......+24^r+25^r=14.8 14.8 的 是 一个实际问题
同学们 1^r+2^r+3^r+.+24^r+25^r=100 怎么求r 阿
就没有不用编程的解法嘛 若是 1^r+2^r+3^r+......+24^r+25^r=14.8 14.8 的 是 一个实际问题

同学们 1^r+2^r+3^r+.+24^r+25^r=100 怎么求r 阿就没有不用编程的解法嘛 若是 1^r+2^r+3^r+......+24^r+25^r=14.8 14.8 的 是 一个实际问题
两边对r求导,lnr(1^r+2^r+.+25^r)=0
lnr=0
r=e

两边取对数

r约等于
0.559786413890834
using System;
using System.Collections.Generic;
using System.Text;
class Program
{
static double GetR()
{
...

全部展开

r约等于
0.559786413890834
using System;
using System.Collections.Generic;
using System.Text;
class Program
{
static double GetR()
{
double s = 0, e = 1;
double mid = (s + e) / 2;
double value = Calculate(mid);
while (Math.Abs(value - 100) > 0.000000001)
{
if (value > 100)
{
e = mid;
}
else
{
s = mid;
}
mid = (s + e) / 2;
value = Calculate(mid);
}
return mid;
}
static double Calculate(double r)
{
double result = 0;
for (int i = 1; i <= 25; i++)
{
result += Math.Pow(i, r);
}
return result;
}
static void Main(string[] args)
{
Console.WriteLine(GetR());
}
}

收起

分别在两边取对数