Problem08 输入数字求和

Problem08 输入数字求和

题目:求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