给定某数字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。
输入格式:
输出格式:
输入样例:
1 3
输出样例:
123
#include<stdio.h>//个位有n个a相加 十位有n-1个a相加 以此类推…//数字过大 用数组int main(){int a, n;scanf("%d%d", &a, &n);int i,j;int num;int sum[100005] = {0};if(n==0){printf("0");return 0;}for(i=n; i>=1; i--){//将sum[0]空出来作进位num = i * a;j = i;while(num!=0){sum[j] += num % 10;num /= 10;j--;//printf("=%d\n", j);}}for(i=n; i>=0; i--){while((sum[i])>9){sum[i-1]++;sum[i] -= 10;}}if(sum[0]==0){for(i=1;i<=n;i++)printf("%d", sum[i]);}else{for(i=0;i<=n;i++)printf("%d", sum[i]);}return 0;}
