05-3. 求a的连续和(15)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
翁恺(浙江大学)
输入两个整数a和n,a的范围是[0,9],n的范围是[1,8],求数列之和S = a+aa+aaa+...+aaa...a(n个a)。 如a为2、n为8时输出的是2+22+222+...+22222222的和。
输入格式:
输入在一行中给出两个整数,先后表示a和n。
输出格式:
在一行中输出要求的数列之和。
输入样例:2 4
#include <stdio.h> #include<math.h> int main() { double b,c,d,sum=0; int a,n; while (scanf("%d%d",&a,&n)!=EOF) { d=a; for(b=1; b<=n; b++) { c=pow(10,b)-1; a=d/9*c; sum+=a; } printf("%.0lf",sum); } return 0; } 解法二:不需考虑上面的问题,不过循环套循环,挺难理解的。。
#include <stdio.h> int main() { int m,n; while(scanf("%d%d",&m,&n)!=EOF) { int i,j; long int s,a,b; s=0; for(i=1;i<n;i++) { b=m; for(j=i;j<n;j++) { a=b*10; b=m; b=b+a; } s=s+b; } printf("%ld\n",s+m); } return 0; }