7-38 数列求和-加强版 (20分)

风格不统一 提交于 2020-02-08 20:31:54

给定某数字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。

输入格式:

输入数字A与非负整数N。

输出格式:

输出其N项数列之和S的值。

输入样例:

1 3

 

输出样例:

123
#include <stdio.h>
#include <stdlib.h>

int main()
{
     int m,n;
     int i,j;
     scanf("%d%d",&m,&n);
     int a[100007];
     int g=0;
     int p=0;
      int h=0;
      if(n==0)
      {
          printf("0");
          return 0;
      }
     for(i=n;i>1;i--)
     {
         g=i*m+h;
         a[p]=g%10;
         h=g/10;
         p++;
     }//反序存最高位以下位的每个数到数组
      g=m+h;
     while(g>9)
     {
         a[p]=g%10;
         g=g/10;
         p++;
     }//继续存最后一次的数(大于一位数的)
     a[p]=g;//存入最高位
     for(i=p;i>=0;i--)
     {
         printf("%d",a[i]);
     }
    return 0;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!