利用JAVA实现2+22+222+2222+22222的问题
如果指定基数为2,次数为5, 则求2+22+222+2222+22222的值
分析
这个问题乍眼一看是有点麻烦的,但是静下来仔细分析还是有一些门路的。
我们从每一项中可以总结出规律:
项数n | 值a | 拆分 |
---|---|---|
1 | 2 | 0*10+2=2 |
2 | 22 | 2*10+2=22 |
3 | 222 | 22*10+2=222 |
4 | 2222 | 2222*10+2=2222 |
5 | 22222 | 22222*10+2=22222 |
… | …… | ….. |
n | 2222222… | [第(n-1)项的a]*10+a |
将这个问题分析透彻,整个问题就很简单了。
首先我们需要设定两个变量,分别为a和sum。变量a是用来存放计算出来每一项所对应的值,而变量sum则是起到了一个累加的作用。至于循环结构的话就用简单的for()
循环来完成,题目要求是有5项,则循环次数为5次,那么我们就可以写出以下的源代码
package com.tencentos;
public class Week1homework3 {
public static void main(String[] args) {int a=0,sum=0;for(int n=1;n<=5;n++){a=(a*10)+2;sum+=a;}System.out.print("sum="+sum);}
}
每当变量a进行完运算后都会存放到变量sum当中,这里的sum起到了一个累加器的作用,最终输出变量sum就可以了。输出的结果如下
其实在这个题的基础上,我们可以进一步的升级,基数与累加次数都可以我们人为的设定,进而可以增加与使用者之间的交互性。在这里我们可以设定基数为x,累加次数定为y,这里的x与y都是使用者所敲入的,其实也没什么难度,就是在上述代码中加入Scanner
工具即可,不过微微这么一变动,整个程序就变的不那么死板了。修改后的源代码如下
package com.tencentos;
import java.util.Scanner;
public class Week1homework3 {
public static void main(String[] args) {Scanner scan=new Scanner(System.in);System.out.print("Please input the basic number:");int x=scan.nextInt();System.out.print("Please input the times:");int y=scan.nextInt();int a=0,sum=0;for(int n=1;n<=y;n++){a=(a*10)+x;sum+=a;}System.out.print("sum="+sum);scan.close(); }
}
测试结果如下
Enjoy it~
利用JAVA实现2+22+222+2222+22222的问题相关推荐
- Java实现2+22+222+2222+22222
import java.util.Scanner; public class 求 { /** 规律:* 2=0*10+2* 22=2*10+2* 222=22*10+2* ...* 我们发现后一项始终 ...
- 利用程序计算2+22+222+2222+22222的和
第一次循环:2=0*2+2 第二次循环:22=2*10+2 第三次循环:222=22*10+2 第四次循环:2222=222*10+2 第五次循环:22222=2222*10+2 程序:
- 求S=a+aa+aaa+aaaa+...+aaaa..的值,a是个数字 * 例如:2+22+222+2222+22222(此时共有5个数相加), 几个数相加由键盘控制
import java.util.Scanner; /*求S=a+aa+aaa+aaaa+...+aaaa..的值,a是个数字* 例如:2+22+222+2222+22222(此时共有5个数相加),* ...
- ACMNO.9求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。 例如:2+22+222+2222+22222(n=5),n由键盘输入。 输入 n 输出 a=2 时
题目描述 求Sn=a+aa+aaa+-+aa-aaa(有n个a)之值,其中a是一个数字. 例如:2+22+222+2222+22222(n=5),n由键盘输入. 输入 n 输出 a=2 时的Sn 样例 ...
- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加...
public class ShuZiDieJia {/*** @description * 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+222 ...
- 求Sn = a+aa+aaa+...+aaaaaa(n个a),其中a是一个数字,n代表a的位数,例如 2+22+222+2222+22222(此时n=5),n由键盘输入。
求Sn = a+aa+aaa+...+aaaaaa(n个a),其中a是一个数字,n代表a的位数,例如 2+22+222+2222+22222(此时n=5),n由键盘输入. #include<st ...
- 若n = 2; m = 5 则 计算 2 + 22 + 222 + 2222 + 22222的和 ;若n = 3; m = 4 则 计算 3 + 33 + 333 + 3333的和
private static void f4() {//7. 若n = 2; m = 5 则 计算 2 + 22 + 222 + 2222 + 22222的和//若n = 3; m = 4 则 计算 ...
- 例如a =2,n=5 则s=2+22+222+2222+22222
1.例如a =2,n=5 则s=2+22+222+2222+22222 实现过程及思路 先分析实现思路 1初始化每一项的值为0 第一项的值等于 0*10+a 第二项的值等于 第一项的值*10+a 第三 ...
- 求2+22+222+2222+22222+...+2...2的和,数字的数量由控制台输入
public class HardThree {// 求2+22+222+2222+22222+...+2...2的和,数字的数量由控制台输入public static void main(Strin ...
最新文章
- 怎么将文件转换成linux文件,Linux将DOS文件格式转换成UNIX文件格式的方法
- stl的complex(二)
- Linux安装Gradle
- cocos android-1,cocos2dx在windows下开发,编译到android上(1)
- 如何才能成为超级人类,驯服人工智能?
- java zip4j 内存文件和磁盘文件 压缩和加密
- 我的第一个博客正式注册
- Atitti 存储引擎支持的国内点与特性attilax总结
- 【企鹅电竞直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)
- 2021国内地址数据库表mysql
- OpenPose 命令行说明
- 为 WSO2 ESB 5.0.0 集群配置 MySQL 数据库
- 转:著名的100个管理定律点评6 -- 决策(上)
- 【js学习笔记】去除省、市、区、特别行政区、自治区
- vue通过腾讯Web(H5)播放器 ,实现直播点播
- 脉冲宽度调制(Pluse Width Modulation)
- Halcon一些功能算子
- PAT basic level 答案+解题思路+难点 (个人刷题记录)
- ssm垃圾分类管理系统
- HTML 轻松显示蒙古文