标签:
给定a和n,计算a+aa+aaa+a...a(n个a)的和。
测试数据有多组,输入a,n(1<=a<=9,1<=n<=100)。
对于每组输入,请输出结果。
1 10
1234567900
这道题的难点在于处理很长很长的数的求和
1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 #include <string> 5 #include <cmath> 6 #define MAX 302 7 8 int sum[MAX]; 9 int temp[MAX]; 10 11 void calSum() { 12 int ci = 0; 13 for(int i = 0; i < MAX;i++) { 14 int ben = (sum[i] + temp[i] + ci) % 10; 15 ci = (sum[i] + temp[i] + ci)/10; 16 sum[i] = ben; 17 } 18 } 19 int main(int argc, char const *argv[]) 20 { 21 int a, n; 22 while(scanf("%d %d",&a,&n) != EOF) { 23 for(int i = 0; i < MAX; i++) { 24 sum[i] = 0; 25 } 26 for(int i = 1; i <= n; i++) { 27 for(int j = 0; j < MAX; j++) { 28 temp[j] = 0; 29 } 30 for(int j = 0; j < i; j++) { 31 temp[j] = a; 32 } 33 calSum(); 34 } 35 bool isBegin = false; 36 for(int i = MAX; i >= 0; i--) { 37 if(isBegin == false && sum[i] != 0) { 38 isBegin = true; 39 printf("%d",sum[i]); 40 } 41 else if(isBegin) { 42 printf("%d",sum[i]); 43 } 44 } 45 printf("\n"); 46 } 47 return 0; 48 }
标签:
原文地址:http://www.cnblogs.com/jasonJie/p/5692584.html