求s=a+aa+aaa+……+aa…a的值,其中a是一个数字,例如a=2时,
求序列2+22+222+…+222222的值,几个数相加由键盘来控制。
程序分析:关键是计算出每一项的值。
1.计算每一项的值。
//m 表示数是由m组成的,n表示这个数字在序列中的位置
public static long getData(int m,int n) {
//生成诸如222 22222这样的数 m=2时
long s =0;
for (int i = n; i >=0; i--) {
s += m*(Math.pow(10, i-1));
// System.out.println(s);
}
return s;
}
2,用键盘控制几个数相加,并计算这几项的和。
Scanner in = new Scanner(System.in);
System.out.println("求输入要求的数列中数值的个数:");
int num = in.nextInt();
System.out.println("要求的数列中数值的个数为:");
System.out.println(num);
long sum = 0;
int m =2;//m表示数字全部由m组成,本例取m =2
for (int i = 1; i < num+1; i++) {
sum+=getData(m,i);
}
System.out.println("这样的"+num+"个数值组成序列的和为:"+sum);
输出结果如下:
求输入要求的数列中数值的个数:
3
要求的数列中数值的个数为:
3
这样的3个数值组成的序列的和为:246