题目:求 的值
一、做这个题我们其实可以直接一个for求解:
a,aa,aaa...我们很容易知道它们后一项与前一项的关系就是;
public static void Sum(int m,int n)
{
long sum = 0L;
long curAn = 0;
for (int i = 0; i < n; i++)
{
curAn = m+ 10* curAn;// An=m+10*A(n-1)
sum+= curAn;// 求和
}
Console.WriteLine(sum);
}
二、其实也可以用高中学的数列来做
现已知,下面我们具体来求解:
第一步转换:
;
第二步去括号求解K:
9K=m
解得K=
第三步,将K= 带入 式子就可变成:
第四步,求解:
不难发现数列{ } 以 为首项,q=10为公比的等比数列;
那么 从而得到:
得解!
接下来我们利用数学归纳法求解 :
①式子:
②式子:
我们知道q=10,于是得到③式子:
③-①:
;
所以:
用代码表示:
public static void Sum2(int m, int n)
{
double result = 10 / (double)81 * (Math.Pow(10, n) - 1) * m - n / (double)9;
long sum = (long)result;
Console.WriteLine(sum);
}
总结:方法二要求数据功底较深,用到高中数学归纳法求解求和公式;方法一只需要每次迭代当前 ,再求和。