题目:求 的值
一、做这个题我们其实可以直接一个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);}
总结:方法二要求数据功底较深,用到高中数学归纳法求解求和公式;方法一只需要每次迭代当前 ,再求和。