5.求Sn = a + aa + aaa + …· + aa···a之值,其中a是一个数字,n表示a的位数,n由键盘输入。
例如:2 + 22 + 222 + 2222 + 22222(此时n = 5)
解题思路: 以a=2为例子 可以将2+22+222+2222+22222…看做是
也就是说他其实是等于2+(20+2)+(200+22)+(2000+222)…
总结规律就是后一项=10的i次方+前一项
代码如下:
int main() {
int n = 0;
int a = 0;
int i = 0;
int sum = 0;
int tmp = 0;
printf("请输入a的值:>");
scanf("%d", &a);
printf("\n请输入n的值:>");
scanf("%d", &n);
tmp = a;
while (n--) {
sum = sum + tmp;
tmp = (tmp * 10) + a;
}
printf("%d",sum);
}