九度OJ 1051:数字阶梯求和

题目地址:http://ac.jobdu.com/problem.php?id=1051

题目描述:

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

输入:

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

输出:

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

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

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main(){
 5     int a, n, i;
 6     int sum[101], carry;
 7     while(scanf("%d %d", &a, &n) != EOF){
 8         memset(sum, 0, sizeof(int)*21);
 9         carry = 0;
10         for(i = 0; i < n; ++i){
11             carry += a*(n-i);
12             sum[i] = carry%10;
13             carry /= 10;
14         }
15         if(carry)
16             sum[n++] = carry;
17         for(i = n-1; i >= 0; --i){
18             printf("%d", sum[i]);
19         }
20         printf("\n");
21     }
22     return 0;
23 }
posted @ 2012-05-01 23:08  Bay  阅读(343)  评论(0)    收藏  举报