c语言给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列的和
时间: 2023-10-16 15:06:34 浏览: 202
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
5星 · 资源好评率100%
可以使用循环和累加器来求解。具体实现如下:
```
int fn(int a, int n) {
int sum = 0;
int cur = a;
for (int i = 1; i <= n; i++) {
sum += cur;
cur = cur * 10 + a;
}
return sum;
}
```
在循环中,我们维护一个累加器 `sum` 和一个当前值 `cur`。在每次循环中,我们将当前值加入累加器中,并更新当前值为上一个值乘以10再加上a。
例如,当a=2,n=3时,数列为2 + 22 + 222,计算过程如下:
```
i=1: sum=2, cur=2
i=2: sum=2+22=24, cur=22+2*10=42
i=3: sum=24+222=246, cur=42+2*100=242
```
最终答案为246。
阅读全文