题目:从键盘输入a和n,计算 sum = a + aa + aaa + …aaaa…(n个a相乘)
#include<stdio.h>
int calculateSum(int a, int n);
int main() {
int a, n;
printf("请输入基数a 和项数n : ");
scanf_s("%d %d", &a, &n);
printf(" %d + %d%d + ... = %d", a, a, a, calculateSum(a, n));
return 0;
}
/// <summary>
/// 计算sum = a + aa + aaa + ... + aaaaaa...aaa(n个)
/// </summary>
/// <param name="a">基数</param>
/// <param name="n">多少个a</param>
/// <returns></returns>
int calculateSum(int a, int n) {
int term = 0;//构造当前项为0
int sum = 0;//求和项
for (int i = 1; i <= n; i++) {
term = term * 10 + a; // 构造当前项,例如3, 33, 333...
/*
i = 1时
term = 0 * 10 + 3 3
i = 2时
term = (0 * 10 + 3 ) * 10 + 3 33
i = 3时
term = ((0 * 10 + 3 ) * 10 + 3) * 10 + 3 333
...
...
*/
sum += term; // 累加当前项到s 求和
}
return sum;
}