Problem08 输入数字求和

本文介绍了一种使用Java编程语言解决数学问题的方法,具体为求解一系列由相同数字构成但位数递增的数的总和。通过内外两层循环,程序能够计算出如2+22+222等序列的值,用户可通过键盘输入决定序列的长度和基本数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:求s=a+aa+aaa+aaaa+aa...a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共有5 个数相加),几个数相加有键盘控制。

程序分析:关键是计算出每一项的值。

 1 import java.util.*;
 2 
 3 public class Problem08 {
 4     //题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
 5     //例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
 6     //程序分析:关键是计算出每一项的值。
 7     public static void main(String args[]) {
 8         System.out.println("请输入相加个数:");
 9         Scanner sc = new Scanner(System.in);
10         int n = sc.nextInt();//存储相加次数
11         System.out.println("请输入一个1-9的整数:");
12         int a = sc.nextInt();
13         int s=0;//存储结果
14         int jia = 0;//存储加数
15         
16         for(int i=1; i<=n; i++) {
17             for(int j=0; j<i; j++) {
18                 //内层循环一次,获得一个加数
19                 jia += a * (int)Math.pow(10, j);
20             }
21             s += jia;
22             jia = 0;//加数清零,计算下一个加数
23         }
24 //        for(int i=0; i<n; i++) {
25 //            s += a * (int)Math.pow(10, i);
26 //        }
27 //        
28         System.out.println(s);
29         sc.close();
30     }
31 }

输出结果:

1 请输入相加个数:
2 6
3 请输入一个1-9的整数:
4 2
5 246912

 

转载于:https://www.cnblogs.com/nemowang1996/p/10388038.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值