数列求和 (Java实现)

题目描述

数列求和是一类常见的问题,本题有一定的代表性:
求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);


    }
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_60429030/article/details/126824958
今日推荐