题目:给定某数字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
<1>模拟手算
#include<stdio.h>
int main()
{
int A, N;
static int a[1000000];//构造大数组
int i, temp, jw=0, len = 1;
scanf_s("%d%d", &A, &N);
for (i = 1; i <= N; i++)
{
temp = A * (N + 1 - i) + jw;//计算每一位大小
a[i] = temp % 10;//实际值
jw = temp / 10;//进位
if (i == len && i != N)
len++;
else if (i == N && jw != 0)//最大位进位后又进位的情况
{
len++;
a[len] = jw;
}
}
for (i = len; i >= 1; i--)
printf("%d", a[i]);
printf("\n");
return 0;
}