pta 数列求和加强版

数列求和加强版

给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。

#include"stdio.h"

int main (void)
{
    int f[100010] = {0}, a, n, m = 0;

    scanf("%d%d", &a, &n);

    for(int i = 0;i < n;i++)//创造n个a数
    {
        f[i] = a;
    }

    for(int i = n - 1;i > 0;i--)//n-1到1次加法实现
    {
        for(int j = 0;j < i;j++)//该数位上的加法及进位实现
        {
            if(f[m] + a > 10)//进位情况
                {
                    f[m] = (f[m] + a) - 10;
                    f[m + 1] += 1;
                }
            else//非进位情况
                f[m] += a;

        }
        m++;//位数前进
    }
    for(int i = m;i >=  0;i--)从最高位数开始输出
    {
        printf("%d", f[i]);
    }

	return 0;
}

你可能感兴趣的:(pta 数列求和加强版)