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