求Sn=m+mm+mmm+...+mm..mmm(有n个m)的值

2023-12-13 05:06:16

题目:求S_{n}=m+mm+mmm+...+mm...mmm?的值?

一、做这个题我们其实可以直接一个for求解:

a,aa,aaa...我们很容易知道它们后一项与前一项的关系就是a_{n}=m+10*a_{n-1}

    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);
        }

二、其实也可以用高中学的数列来做

现已知a_{n}=m+10*a_{n-1},下面我们具体来求解a_{n}

第一步转换:

a_{n}+K=10(a_{n-1}+K)

第二步去括号求解K:

a_{n}+K=10*a_{n-1}+10K

a_{n}=10*a_{n-1}+9K

9K=m

解得K=\frac{m}{9}?

第三步,将K=\frac{m}{9}?带入?a_{n}+K=10(a_{n-1}+K)? 式子就可变成:

a_{n}+\frac{m}{9}=10(a_{n-1}+\frac{m}{9})??

第四步,求解a_{n}

\frac{a_{n}+\frac{m}{9}}{(a_{n-1}+\frac{m}{9})}=10?

不难发现数列{{a_{n}+\frac{m}{9}}?} 以m+\frac{m}{9}?为首项,q=10为公比的等比数列;

那么b_{n}=a_{n}+\frac{m}{9}=b_{1}*q^{n-1}=(m+\frac{m}{9})*10^{n-1}?从而得到:

a_{n}=(m+\frac{m}{9})*10^{n-1}-\frac{m}{9}???得解!

接下来我们利用数学归纳法求解?S_{n}

①式子:

S_{n}=a_{1}+a_{2}+a_{3}+...+a_{n}=(m+\frac{m}{9})*10^{0}-\frac{m}{9}+(m+\frac{m}{9})*10^{1}-\frac{m}{9}+(m+\frac{m}{9})*10^{2}-\frac{m}{9}+(m+\frac{m}{9})*10^{3}-\frac{m}{9}+...+(m+\frac{m}{9})*10^{n}-\frac{m}{9}=(m+\frac{m}{9})*(10^{0}+10^{1}+10^{2}+10^{3}+...+10^{n-1})-n*\frac{m}{9}

②式子:

q*S_{n}=q*a_{1}+q*a_{2}+q*a_{3}+...+q*a_{n}=q*(m+\frac{m}{9})*(10^{0}+10^{1}+10^{2}+10^{3}+...+10^{n-1})-q*n*\frac{m}{9}

我们知道q=10,于是得到③式子:

10*S_{n}=10*a_{1}+10*a_{2}+10*a_{3}+...+10*a_{n}=10*(m+\frac{m}{9})*(10^{0}+10^{1}+10^{2}+10^{3}+...+10^{n})-10*n*\frac{m}{9}=(m+\frac{m}{9})*(10^{1}+10^{2}+10^{3}+10^{4}+...+10^{n-1}+10^{n})-10*n*\frac{m}{9}

③-①:

9*S_{n}=(m+\frac{m}{9})*(10^{n}-10^{0})-n*m?;

所以:S_{n}=\frac{1}{9}*(m+\frac{m}{9})*(10^{n}-1)-\frac{n*m}{9}=\frac{1}{9}*m*[\frac{10}{9}*(10^{n}-1)-n]

用代码表示:

    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);
        }

总结:方法二要求数据功底较深,用到高中数学归纳法求解求和公式;方法一只需要每次迭代当前a_{n}?,再求和。

文章来源:https://blog.csdn.net/ftfmatlab/article/details/134889620
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。