public class Main {
public static void main(String[] args) {
//write your code here........
//由于数列是从9-9999999999,可知有10位
/*
分析:
第一位:10-1
第二位:100-1
第三位:1000-1
第四位:10**4-1;
.......
第n位:10**n-1;
当 i 增加到 10 时,Math.pow(10, 10) 的值为 10,000,000,000,这超出了 int 类型的最大范围,所以下面不建议用int类型,会溢出值。
*/
//定义一个长度为10的动态数组
long [] list = new long [10];
//遍历数组
for (int i = 1; i < list.length + 1; i++) {
//定义一个变量用于添加到数组中去
long append_num = (long)(Math.pow(10,i)-1); //因为Math包得到的数据一般都是小数,这里用了强制转换
//添加到数组中去
list[i - 1] = append_num;
}
//添加成功,进行求和
//定义一个sum变量,用于存储和
long sum = 0;
//遍历数组
for (int i = 0; i < list.length; i++) {
// System.out.println(list[i]);
sum=sum+list[i];
}
System.out.print(sum);
}
}