Java代码基础算法练习-公式求和-2024.03.24

任务描述:

求公式Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5 时=2+22+222+2222+22222,n 由键盘输入(n<=5)。


任务要求:


package march0317_0331;import java.util.Scanner;public class m240324 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("输入n:");int n = scanner.nextInt();// 检查输入的n是否在有效范围内(0到5之间)if (n < 0 || n > 5) {System.out.println("输入错误");return;}long sum = 0; // 用于存储数列项的总和for (int i = 1; i <= n; i++) {long currentTerm = 2; // 当前项的初始值为2// 计算当前项的值,将2连接i次for (int j = 0; j < i; j++) {currentTerm *= 10;currentTerm += 2;}sum += currentTerm; // 将当前项累加到总和中}System.out.println("Sn = " + sum); // 输出结果}
}


双重for循环在这里的作用是:

  1. 创建一个特殊的数列:这个数列由很多个“2”组成,每个数都是由不同数量的连续“2”拼接起来的。比如数列的第一项是“2”,第二项是“22”,第三项是“222”,以此类推。
  2. 计算这个数列的总和:我们要把数列里所有的这些由“2”组成的数加在一起。

为了实现这两个目标,我们使用两个嵌套在一起的循环:

外层循环(用变量 i 表示):

  • 它负责数列中的每一项,也就是从第一个“2”开始,一直到最后一个由很多个“2”组成的数。
  • 每次外层循环执行一次,就相当于数列中的项数增加1。

内层循环(用变量 j 表示):

  • 它负责构建当前项(由 i 个“2”组成)的具体数值。
  • 每次内层循环执行一次,就在已经生成的部分数值后面再添加一个“2”。

两层循环一起工作

  • 外层循环说:“现在我们要处理数列的第 i 项。”
  • 内层循环响应:“好的,那我来帮您生成由 i 个‘2’组成的数。”
  • 内层循环重复运行 i 次,每次都添加一个“2”,直到生成完整的项值。
  • 这个项值被加到总和变量 sum 中。
  • 外层循环继续前进到下一项,重复上述过程,直到所有项都处理完毕。

最后,总和变量 sum 中存储的就是整个特殊数列的和。

总结:双重for循环是为了按照特定规则生成一系列特殊的数(由连续“2”组成),并把这些数逐一加起来求和。外层循环管理数列中的项数,内层循环负责构造每个项的具体数值。

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

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

相关文章

新能源汽车充电桩消防安全视频智能可视化监管建设方案

一、方案背景 据应急管理部门统计公布的数据显示&#xff0c;仅2023年第一季度&#xff0c;新能源汽车自燃率就上涨了32%&#xff0c;平均每天就有8辆新能源汽车发生火灾&#xff08;含自燃&#xff09;。在已查明起火原因中&#xff0c;58%源于电池问题&#xff0c;19%源于碰…

服务消费微服务

文章目录 1.示意图2.环境搭建1.创建会员消费微服务模块2.删除不必要的两个文件3.检查父子模块的pom.xml文件1.子模块2.父模块 4.pom.xml 添加依赖&#xff08;刷新&#xff09;5.application.yml 配置监听端口和服务名6.com/sun/springcloud/MemberConsumerApplication.java 创…

ppp实验

拓扑图 实验步骤 配置IP地址及创建mp逻辑口 [R1]int ser 3/0/0 [R1-Serial3/0/0]ip add 192.168.1.1 24 [R1-Serial3/0/0] [R2]int se3/0/0 [R2-Serial3/0/0]ip add 192.168.1.2 24 [R2-Serial3/0/0]int mp [R2-Serial3/0/0]int mp-g [R2-Serial3/0/0]int mp-group 0…

matlab 智能电器的状态监测故障模拟

1、内容简介 略 83-可以交流、咨询、答疑 2、内容说明 略 U120√2sin(2) Ii1i2 逻辑关系&#xff1a; 在0-0.1&#xff0c;正弦电给并联的电容和电阻/电感供电&#xff0c;电压的有效值为120V,通过RMS模块检查电压的变化&#xff0c;在0.1时通过斩波器把电源2端与大地连接…

【投递】2023秋招与2024春招部分投递(私企,国企,外企,编制,升学等)

文章目录 1、互联网私企&#xff08;钱多&#xff09;2、国企 & 外企&#xff08;事少&#xff09;3、公务员 & 事业编&#xff08;离家近&#xff09;4、考研 & 留学&#xff08;下限&#xff09;5、创业 & 做生意&#xff08;上限&#xff09; 什么是舒适的工…

Java 自定义线程池实现

自定义线程池 简介任务图示阻塞队列 BlockingQueue<T>ReentrantLock代码 线程池 ThreadPool工作线程类 Worker 拒绝策略接口代码测试类 TestThreadPool为什么需要j i&#xff1f;&#xff08;lambad表达式相关&#xff09; 测试结果拒绝策略&#xff1a;让调用者自己执行…

mysql80-DBA数据库学习1

掌握能力 核心技能 核心技能 mysql部署 官网地址www.mysql.com 或者www.oracle.com https://dev.mysql.com/downloads/repo/yum/ Install the RPM you downloaded for your system, for example: yum install mysql80-community-release-{platform}-{version-number}.noarch…

嵌入式数据库--SQLite

目录 1. SQLite数据库简介 2. SQLite数据库的安装 方式一&#xff1a; 方式二&#xff1a; 3. SQLite的命令用法 1.创建一个数据库 2.创建一张表 3.删除表 4.插入数据 5. 查询数据 6.删除表内一条数据 7.修改表中的数据 8.增加一列也就是增加一个字段 1. SQLite数据库…

配置OpenFrp安装使用,配置后台启动和开机自启动

首先说明&#xff0c;我的系统是&#xff1a;Ubuntu 安装 创建一个目录用于放置相关文件 mkdir frp进入目录 cd frp下载openfrp客户端 # 如果您使用 wget&#xff0c;用以下命令: wget https://o.of.gs/client/OpenFRP_0.56.0_ce243e7e_20240320/frpc_linux_amd64.tar.gz …

手撕算法-无重复字符的最长子串

描述 分析 滑动窗口&#xff0c;记录窗口中的所有出现的字符&#xff0c;然后窗口左边界固定&#xff0c;右边界右滑&#xff0c;如果&#xff0c;窗口中不存在新的字符&#xff0c;则右滑成功&#xff0c;否则左边界右滑&#xff0c;直到窗口中不存在右边界的值。 描述感觉不…

03-SparkSQL入门

0 Shark Spark 的一个组件&#xff0c;用于大规模数据分析的 SQL 查询引擎。Shark 提供了一种基于 SQL 的交互式查询方式&#xff0c;可以让用户轻松地对大规模数据集进行查询和分析。Shark 基于 Hive 项目&#xff0c;使用 Hive 的元数据存储和查询语法&#xff0c;并基于Hiv…

java每日一题——买啤酒(递归经典问题)

前言&#xff1a; 非常喜欢的一道题&#xff0c;经典中的经典。打好基础&#xff0c;daydayup!!!啤酒问题&#xff1a;一瓶啤酒2元&#xff0c;4个盖子可以换一瓶&#xff0c;2个空瓶可以换一瓶&#xff0c;请问10元可以喝几瓶 题目如下&#xff1a; 啤酒问题&#xff1a;一瓶…