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.mzph.cn/news/769319.shtml

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

相关文章

React函数组件Hook

问题: 相对于类组件, 函数组件的编码更简单, 效率也更高, 但函数组件不能有state (旧版) 解决: React 16.8版本设计了一套新的语法来让函数组件也可以有state Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 Hook也叫钩子…

Simple negative sampling for link prediction inknowledge graphs

摘要 知识图嵌入方法学习知识图中实体和关系的低维向量表示&#xff0c;便于知识图中的链接预测任务。在学习嵌入过程中&#xff0c;采样负三元组是很重要的&#xff0c;因为KGs只观察到正三元组。据我们所知&#xff0c;均匀随机、基于生成对抗网络(GAN)和nscach、结构感知负…

Linux 系统 快速卸载docker

(卸载前一定要做好相关数据的备份) 卸载&#xff1a; 第一种卸载方法 1、查询docker安装过的包&#xff1a; yum list installed | grep docker 2、删除安装包&#xff1a; yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y 3、删除镜像/容器等 rm -rf /var/lib/dock…

【征稿进行时|见刊、检索快速稳定】2024年教育资源与人文发展国际学术会议(ICERHD 2024)

【征稿进行时|见刊、检索快速稳定】2024年教育资源与人文发展国际学术会议&#xff08;ICERHD 2024&#xff09; 2024 International Conference on Educational Resources and Humanistic Development&#xff08;ICERHD 2024&#xff09; 大会主题&#xff1a; 教育艺术 商…

机器学习周报第33周

目录 摘要Abstract一、文献阅读1.1 论文标题1.2 论文摘要1.3 论文背景1.4 过去研究1.5 论文介绍1.5.1 论文模型1.5.2 时空交互学习模块&#xff08;Spatiotemporal Interactive Learning Module&#xff09;1.5.3 动态图推理模块&#xff08;Dynamic Graph Inference Module&am…

【Java】基于SpringCloud的考研复试辅导平台

1、前端请求后端服务提供的接口。 2、后端服务的控制层Controller接收前端的请求。 3、Contorller层调用Service层进行业务处理。 4、Service层调用Dao持久层对数据持久化。 XXX-api&#xff1a;接口工程&#xff0c;为前端提供接口。 XXX-service: 业务工程&#xff0c;为…

SQLite使用的临时文件(二)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite数据库文件损坏的可能几种情况 下一篇&#xff1a;未发表 ​ 1. 引言 SQLite的显着特点之一它是一个数据库由一个磁盘文件组成。 这简化了 SQLite 的使用&#xff0c;因为移动或备份 数据库就像复制单个文…

shell编程-jq命令详解

文章目录 前言一、jq简介1. 简介2. 语法3. 命令选项 二、用于处理json数据1. 过滤1.1 标识运算符1.2 基本过滤1.3 获取对象属性1.3 迭代数组元素1.4 获取数组元素1.5 使用运算符 2. 类型和值2.1 数组构造2.2 对象构造2.3 递归下降 3. 内置运算符和函数3.1 算术运算符3.2 函数3.…

PCL点云处理之最小中值平方(Lmeds法)拟合平面(二百三十四)

PCL点云处理之 最小中值平方法(Lmeds)拟合平面(二百三十四) 一、算法介绍一、拟合原理二、具体实现1.代码2.结果一、算法介绍 (本文提供详细注释,输出拟合平面参数和平面点云) Lmeds(Least Median of Squares)是一种统计学方法,用于拟合数据并减少异常值对拟合结果…

基础篇Redis

基础篇Redis 1.Redis简单介绍 Redis是一种键值型的NoSql数据库&#xff0c;这里有两个关键字&#xff1a; 键值型NoSql 其中键值型&#xff0c;是指Redis中存储的数据都是以key.value对的形式存储&#xff0c;而value的形式多种多样&#xff0c;可以是字符串.数值.甚至json…

前端-html-01

1.HTML的标签分类 1.1常用排版标签 标签名语义和功能属性单标签还是双标签h1 ~ h6一级标题~六级标题无双标签p段落无双标签hr分隔线无单标签br换行无单标签pre原格式显示无双标签div无语义&#xff0c;用于页面布局无双标签 1.1.1h标题标签 <!DOCTYPE html> <htm…

Redis I/O多路复用

I/O多路复用 Redis的I/o多路复用中&#xff0c;将多个连接放到I/O复用程序中&#xff0c;这个复用程序具体是什么&#xff0c;是Redis的主线程吗 在Redis的I/O多路复用机制中&#xff0c;“复用程序”实际上指的是操作系统提供的系统调用接口&#xff0c;如Linux下的epoll、sel…

ZYNQ学习之Ubuntu环境下的Shell与APT下载工具

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Ubuntu Shell操作 简单的说Shell 就是敲命令。国内把 Linux 下通过命令行输入命令叫…

如何本地搭建群晖虚拟机并实现无quickconnect服务环境远程访问

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是前排提醒&#xff1a; 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机&#xff1a;1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

解密Google Cloud 全新 PaLM2及创新应用

&#x1f4f8;背景 因长期在大模型相关的部门工作&#xff0c;每天接收到很多和AI相关的信息&#xff0c;但小编意识到目前理解到的一些AI知识还有些片面。 恰逢稀土掘金开发者大会有谈到大模型相关的知识&#xff0c;于是借此机会&#xff0c;对大模型相关的一些知识再了解一…

【SpringCloud】探索Eureka注册中心

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …

Protobuf基础使用

Protobuf是什么 在我们日常编写代码的过程中&#xff0c;经常会涉及到网络传输的部分。我们通常会在网络之间传递各种各样的请求&#xff0c;但是在我们日常架构之中&#xff0c;经常会涉及后端服务器之间的通信&#xff0c;通信过程中&#xff0c;可能传递的对象就是一个类。…

【vscode打开多文件夹】

1)将文件夹添加到工作空间中 2)文件夹方式展开 3)最终效果 小技巧&#xff1a; 文件夹的位置不对的话&#xff0c;可以拖动进行调整。

Linux--动静态库的原理和使用详解

本文介绍了Linux系统中动态库与静态库的概念、原理以及使用方法。通过深入讲解动态库与静态库的区别和优劣势&#xff0c;帮助读者更好地理解并选择合适的库类型来进行软件开发。 动态库和静态库的概念 动态库&#xff08;Dynamic Link Library&#xff0c;简称DLL&#xff09…

优化金融展厅设计,细节提升客户体验与实用效能

“很赚钱”大部分公众对金融行业的第一印象&#xff0c;这足以见得金融行业在社会经济发展中的重要性&#xff0c;而为了更好的宣传和科普金融相关信息&#xff0c;金融展厅的设计和建设成为了重要措施&#xff0c;它能够充分展示金融机构的实力、品牌形象和服务优势&#xff0…