3674 - 连续和
输入两个整数a和n,a的范围是[0,9],n的范围是[1,8],求数列之和S = a+aa+aaa+...+aaa...a(n个a)。 如a为
2、n为8时输出的是2+22+222+...+22222222的和。
Input
包含多组测试数据,每组输入数据占一行,分别a和n,中间用空格隔开。
Output
输出数列之和S
Examples
Input
2 4
Output
2468
Solution C
#include<stdio.h> int main() { long int a,b[10]; long int sum=0, s=0; int n; while (scanf("%d %d", &a, &n) != EOF) { sum = 0; for (int i = 1; i <= n; i++) { b[0] = 0; s = 0; for (int j = 1; j <= i; j++) { b[j] = a; s=s * 10 ; s = s + b[j]; } sum +=s; } printf("%ld\n", sum); } return 0; }
Solution C++
#include <stdio.h> #include <math.h> using namespace std; long long he(long long a,long long n) { long long b=a; long long j=0; for(j=1;j<n;j++) { b=b+a*pow(10,j); } return b; } int main() { long long a,n,i,sum; while(scanf("%lld%lld",&a,&n)!=EOF) { sum=0; for(i=1;i<=n;i++) sum+=he(a,i); printf("%lld\n",sum); } return 0; }