这题的思路是:假设a=2,计算前3项之和,那么就是2+22+22
第一项等于a
第二项等于210+2
第三项等于2210+2
我们可以发现22等于第二项
所以我们可以定义一个中间变量来c,c=10*c+a,就可以把前n项表示出来,然后求和就可以得出答案了。
int main()
{
int a = 0;
int b = 0;
int i = 0;
int sum = 0;
int c = 0;
scanf("%d%d", &a,&b);
for (i = 0; i < b; i++)
{
c = 10 *c + a;
sum += c;
}
printf("%d\n", sum);
return 0;
}
还有一种方法如下
int main()
{
int a = 0;
int b = 0;
int i = 0;
int sum = 0;
scanf("%d%d", &a,&b);
int c = a;
for (i = 1; i <= b; i++)
{
sum += c;
c = a*pow(10, i) + c;
}
printf("%d\n", sum);
return 0;
}