用c语言进行编程:定一个数字A (1⩽A⩽9)以及一个非负整数N (0⩽N⩽15),编程计算sum=A+AA+AAA+⋯+AA⋯A(N个A), 例如当A=2,N=3时,S=2+22+222=246。 输入格式: 在一行内输入数字A与非负整数N。数与数之间用空格间隔。 输出格式: 按照S = xxx的格式输出其N项之和S的值。 输入样例: 2 3 输出样例: 在这里给出相应的输出。例如: S = 246
时间: 2023-06-11 19:06:10 浏览: 202
C语言程序设计-计算并输出给定整数n的所有因子之和(不包括1与自身);注意:n的值不大于1000.c
5星 · 资源好评率100%
以下是用 C 语言编写的解法:
```c
#include <stdio.h>
int main()
{
int a, n, sum = 0, cur = 0;
scanf("%d %d", &a, &n);
for (int i = 0; i < n; i++) {
cur = cur * 10 + a;
sum += cur;
}
printf("S = %d", sum);
return 0;
}
```
思路解析:
我们可以用一个变量 `cur` 来表示当前的数,初始值为 `a`。然后,每次循环将 `cur` 乘以 10,再加上 `a`,并累加到总和 `sum` 中。这样,当循环结束后,`sum` 的值就是所求的和。
需要注意的是,计算 `cur` 的方法是每次将其乘以 10 再加上 `a`,而不是将其乘以 $a$ 的幂。这是因为在计算过程中,我们只需要保存当前的数,而不需要保存每一项。比如,当 $a=2,n=3$ 时,我们可以用以下方式计算:
$$
\begin{aligned}
&A=2\\
&AA=2\times10+2=22\\
&AAA=22\times10+2=222\\
&S=2+22+222=246
\end{aligned}
$$
这样,我们就可以用一个变量 `cur` 来保存当前的数,而不需要保存每一项。
阅读全文