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

题目:求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} ,再求和。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/210962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qexo博客后台管理部署

Qexo博客后台管理部署 个人主页 个人博客 参考文档 https://www.oplog.cn/qexo/本地部署 采用本地Docker部署管理本地Hexo 下载代码包 若无法下载使用科学工具下载到本地在上传到服务器 wget https://github.com/Qexo/Qexo/archive/refs/tags/3.0.1.zip# 解压 unzip Qexo…

C++中的前缀和

C中的前缀和&#xff08;Prefix Sum&#xff09;是一种优化算法&#xff0c;用于计算原数组中每个元素前缀和&#xff08;前面所有元素的累加和&#xff09;&#xff0c;可以在O(n)时间内实现。 #include<iostream> using namespace std;const int MAXN 100010;int Pre…

Linux comm命令教程:如何比较两个文件的内容(附案例详解和注意事项)

Linux comm命令介绍 comm命令是Linux系统中的一个命令&#xff0c;用于比较两个已排序的文件或流。默认情况下&#xff0c;comm将始终显示三列。第一列显示只在第一个文件中的非匹配项&#xff0c;第二列显示只在第二个文件中的非匹配项&#xff0c;第三列显示两个文件中的匹配…

Java开源工具库Guava使用指南

Guava是一个功能强大的Java开源工具库&#xff0c;提供了很多实用的工具类和函数&#xff0c;可以简化开发过程。本文将介绍Guava的一些基本用法和常用功能。 添加Guava依赖 在开始使用Guava之前&#xff0c;首先需要在项目中添加Guava的依赖。可以通过Maven或Gradle来管理依…

Centos7.9下的celery无法直接使用-没有找到命令

问题 关于centos7.9下执行celery -A project worker -l debug -P eventlet 找不到celery命令 -bash: celery: command not found 解决办法 # /usr/local/Python3 为你的python路径 echo export PATH/usr/local/Python3/bin:$PATH >> /etc/profile.d/python3.sh source /…

在循环内错误使用函数定义(js的问题)

考虑下面代码&#xff1a; var elements document.getElementsByTagName(input); var n elements.length; // Assume we have 10 elements for this example for (var i 0; i < n; i) {elements[i].onclick function() {console.log("This is element #" …

利用WSL Linux编译OpenBMC

WSL2安装 &#xff08;1&#xff09; 旧版 WSL 的手动安装步骤 | Microsoft Learn &#xff08;2&#xff09; https://www.cnblogs.com/37yan/p/16169564.html &#xff08;3&#xff09; 在win10中安装linux--使用WSL_wsl.conf-CSDN博客 安装Ubuntu 18.04 on Windows 安…

联合体和枚举

联合体&#xff1a; 联合体是什么&#xff1f; 联合体也是一种自定义类型&#xff0c;这种类型定义的变量也包含一系列类型&#xff0c;特征是这些类型公用一块内存空间(所以叫联合体也叫公用体)可以理解为结构体公用一块内存。 //联合-联合体-共用体 //联合也是一种特殊的自…

TOMCAT9安装

1、官网下载 2、解压到任意盘符&#xff0c;注意路径不要有中文 3、环境变量 path 下 配置 %CATALINA_HOME%\bin 4、找到tomcat9/bin&#xff0c; 点击 start.bat启动 tomcat

目标检测、目标跟踪、重识别

文章目录 环境前言项目复现特征提取工程下载参考资料 环境 ubuntu 18.04 64位yolov5deepsortfastreid 前言 基于YOLOv5和DeepSort的目标跟踪 介绍过针对行人的检测与跟踪。本文介绍另一个项目&#xff0c;结合 FastReid 来实现行人的检测、跟踪和重识别。作者给出的2个主…

jsp 设备预约管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 设备预约管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0…

SQL命令---添加新字段

介绍 使用sql语句为表添加新字段。 命令 alter table 表名 add 新字段名 数据类型;例子 向a表中添加name字段&#xff0c;类型为varchar(255)。 alter table a add name varchar(255);下面是执行添加有的表结构&#xff1a;

TimescaleDB-1 安装

前置条件&#xff1a; 1、操作系统ubuntu2204 2、已经通过apt的方式安装了pg14 当然其他的操作系统&#xff0c;官方文档中也有说明。 一、安装 https://docs.timescale.com/self-hosted/latest/install/installation-linux/ Installing self-hosted TimescaleDB on Debian-…

springboot+jdbcTemplate+sqlite编程示例——以沪深300成分股数据处理为例

引言 我们在自己做一些小的项目或者小的数据处理分析的时候&#xff0c;很多时候是不需要用到mysql这样的大型数据库&#xff0c;并且也不需要用到maven这样很重的框架的&#xff0c;取而代之可以使用jdbcTemplatesqlite这样的组合。 本文就介绍一下使用springbootjdbcTempla…

课堂练习3.4:进程的切换

3-9 课堂练习3.4:进程的切换 进程切换是支持多进程的一个关键环节,涉及到 CPU 现场的保存和恢复,本实训分析 Linux 0.11 的进程切换过程。 第1关第一次进程切换过程分析 任务描述 本关任务回答问题: 在第一次进程切换时: 1.是从几号进程切换到几号进程?0 号进程和 1 号…

Linux指令——scp:传输文件

Linux指令——scp&#xff1a;传输文件 简介&#xff1a; Linux文件互传指令 使用方法&#xff1a; scp [可选参数] file_source file_target # 可选参数一般为-r&#xff0c;递归传输 # 举例如下&#xff1a; scp /home/test/test.txt root192.168.1.200:/home/test/tes…

Java线程概念详解

线程 概念 1.程序:未解决某种问题,使用计算机语言编写的一些列指令(代码)的集合 2.进程:正在运行的程序(被加载到内存中),是操作系统进行资源分配的最小单位 3.线程:进程可以进一步细化为线程(比进程更小)且线程是隶属于进程的,是操作系统执行的最小的执行单元 也是cpu进行任…

CleanMyMac X2024免费许可证(激活教程)

CleanMyMac X是一款流行的系统优化工具&#xff0c;专为Mac用户设计。它可以帮助用户清理Mac系统中的垃圾文件、卸载不需要的程序、加速Mac性能以及保护Mac系统的安全。 一、简介 CleanMyMac X是一款功能强大的系统优化工具&#xff0c;它可以帮助用户清理Mac系统中的垃圾文件…

优麒麟ubuntukylin安装UE4.27.2

优麒麟ubuntukylin安装UE4.27.2 在&#xff08;国产&#xff09;优麒麟 ubuntukylin Linux平台上编译测试安装虚幻引擎。 优麒麟系统 这里选择的是官方增强版 https://www.ubuntukylin.com/downloads/ 同样的可以选择对应的Ubuntu22.04 LTS&#xff0c;唯一的区别就是优麒麟…

【精选】SpringMVC简介及其执行流程,参数获取方式

SpringMVC简介 MVC模型 MVC全称Model View Controller&#xff0c;是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分&#xff1a; Model&#xff08;模型&#xff09;&#xff1a;指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中&…