7-38 数列求和-加强版
给定某数字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>
#define N 100001
int s[N]= {0};
int main()
{
int a,n;
int i,j,index,t;
scanf("%d %d",&a,&n);
index=n;
if(n==0)
printf("0");
else
{
for(i=0,j=n; i<n; i++,j--)
{
t=s[i]+j*a;
s[i]=t%10;
if(t/10)
s[i+1]=t/10;
}
}
if(s[n]>0)
index=n+1;
for(i=index-1; i>=0; i--)
printf("%d",s[i]);
return 0;
}