题目描述:

给定a和n,计算a+aa+aaa+a...a(n个a)的和。

输入:

测试数据有多组,输入a,n(1<=a<=9,1<=n<=100)。

输出:

对于每组输入,请输出结果。

样例输入:
1 10
样例输出:
1234567900

这道题的难点在于处理很长很长的数的求和
 #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#define MAX 302 int sum[MAX];
int temp[MAX]; void calSum() {
int ci = ;
for(int i = ; i < MAX;i++) {
int ben = (sum[i] + temp[i] + ci) % ;
ci = (sum[i] + temp[i] + ci)/;
sum[i] = ben;
}
}
int main(int argc, char const *argv[])
{
int a, n;
while(scanf("%d %d",&a,&n) != EOF) {
for(int i = ; i < MAX; i++) {
sum[i] = ;
}
for(int i = ; i <= n; i++) {
for(int j = ; j < MAX; j++) {
temp[j] = ;
}
for(int j = ; j < i; j++) {
temp[j] = a;
}
calSum();
}
bool isBegin = false;
for(int i = MAX; i >= ; i--) {
if(isBegin == false && sum[i] != ) {
isBegin = true;
printf("%d",sum[i]);
}
else if(isBegin) {
printf("%d",sum[i]);
}
}
printf("\n");
}
return ;
}
05-27 06:43