题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
算法: 定义一个变量b, 赋初值为0;定义一变量sum, 赋初值为0,进入循环后,将a + b 的值赋给b,将sum + b 的值赋给sum;同时,将a 增加十倍,++ i; 继续循环;循环结束后,输出sum 的值。
1 package com.li.FiftyAlgorthm; 2 3 import java.util.Scanner; 4 5 /** 6 * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 7 * 8 * 算法: 定义一个变量b, 赋初值为0;定义一变量sum, 赋初值为0, 9 * 进入循环后,将a + b 的值赋给b,将sum + b 的值赋给sum; 10 * 同时,将a 增加十倍, ++ i; 继续循环;循环结束后,输出sum 的值。 11 * @author yejin 12 */ 13 public class Plus { 14 static long a = 2, b = 0; 15 public static void main(String[] args) { 16 Scanner s = new Scanner(System.in); 17 int n = s.nextInt(); 18 int i = 0; 19 long sum = 0; 20 while(i < n) { 21 b = b + a; 22 sum = sum + b; 23 a = a * 10; 24 ++ i; 25 } 26 System.out.println("input number: " + n); 27 System.out.println(sum); 28 } 29 }
原文:http://www.cnblogs.com/justdoitba/p/7142750.html