题目描述
数列求和是一类常见的问题,本题有一定的代表性:
求s=a+aa+aaa+aaaa+⋯+aa⋯aa(n位)
其中,a的值由键盘输入,位数n也由键盘输入。
输入描述
第一行输入a的值;
第二行输入位数n。
输出描述
输出对n个数完成求和运算后的结果。
比如a=3,n=6时,s=3+33+333+3333+33333+333333
样例
输入
3
6
输出
370368
3 = 3 * 1 + 0
33 = 3 * 10 + 3
333 = 3 * 100 + 33
3333 = 3 * 1000 + 333
不难看出规律 s = a * 10^n + s(上一个s)
算法思想:将每次循环得出得值存入到数组中,然后对数组进行求和即可。
package test;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int n = in.nextInt();
int sum = 0;
int[] arr = new int[n];
int summ = 0;
for (int i = 0;i < n;i++) {
sum += a * Math.pow(10,i);
arr[i] = sum;
}
for (int i = 0;i < arr.length;i++) {
//
summ += arr[i];
}
System.out.println(summ);
}
}
运行结果