求9+99+999+9999+99999+999999+9999999+99999999+999999999相加的和。
/**
* 求9+99+999+9999+99999+999999+9999999+99999999+999999999相加的和。
* 方法一:先求10的第几次幂然后减1得出是几个9,
* 例如:10 ^ 1 - 1 = 9
* 10 ^ 2 - 1 = 99
* 10 ^ 3 - 1 = 999
* ......
* 10 ^ 9 - 1 = 999999999
*
* 方法二:后一个数是前一个数的10备再加9
* 例如:0 * 10 + 9 = 9
* 9 * 10 + 9 = 99
* 99 * 10 + 9 = 999
* ......
* 99999999 * 10 + 9 = 999999999
*/
//方法一
public static void WayOne() {
int sum = 0;
String info = "";
int result;
for (int i = 1; i <= 9; i++) {
result = (int) Math.pow(10, i);//10的几次幂
sum += result - 1;
if (i == 9) {
info += (result - 1);
} else {
info += (result - 1) + "+";
}
}
System.out.println(info + "=" + sum);
}
//方法二
public static void WayTwo() {
int sum = 0;
int num = 0;
String info = "";
for (int i = 0; i < 9; i++) {
num = num * 10 + 9;
sum += num;
if (i == 8) {
info += num;
} else {
info += num + "+";
}
}
System.out.println(info + "=" + sum);
}