C语言 求数列 S(n) = a + aa + aaa + …aa…a (n 个 a)的和

求数列S(n)=a+aa+aaa+...aa...a(n个a)之值,其中a是一个数字,n表示a的位数,n由键盘输入。例如2+22+222+2222+22222(此时n=5)

这个程序读取用户输入的一个数字 a 和一个正整数 n,计算并输出数列 S(n) 的值。

cpp 复制代码
#include <stdio.h>
#include <math.h>

int main() {
    int a, n;
    long sum = 0, term = 0;
    printf("输入一个数字 a 和一个正整数 n: ");
    scanf("%d %d", &a, &n);

    for (int i = 1; i <= n; i++) {
        term = term * 10 + a;  // 构造当前项
        sum += term;           // 累加到总和
    }

    printf("数列 S(n) 的值: %ld\n", sum);
    return 0;
}

解代码说明

  1. term 变量用于存储当前项的值,从 a 开始,每次在末尾添加一个 a
  2. sum 变量用于累加所有项的值。
  3. 在循环中,term 每次乘以 10 并加上 a,从而形成 a, aa, aaa 等值,然后累加到 sum
相关推荐
sycmancia10 分钟前
C++——析构函数的调用顺序、const修饰对象、类成员
开发语言·c++
Zik----15 分钟前
Leetcode27 —— 移除元素(双指针)
数据结构·算法
czxyvX25 分钟前
010-C++11
开发语言·c++
陆嵩35 分钟前
GMRES 方法的数学推导及其算法表示
算法·概率论·arnoldi·gmres·minres·givens·hessenberg
plus4s43 分钟前
2月22日(94-96题)
算法
水饺编程1 小时前
第4章,[标签 Win32] :TextOut 测试案例2
c语言·c++·windows·visual studio
tianzhiyi1989sq1 小时前
C++工具库之PugiXML使用指南
java·数据库·c++
tankeven1 小时前
HJ98 喜欢切数组的红
c++·算法
adore.9681 小时前
2.22 oj基础92 93 94+U12
数据结构·c++·算法
消失的旧时光-19431 小时前
C++ 多线程与并发系统取向(四)—— std::condition_variable:线程协作与生产者消费者模型(类比 Java wait/notify)
开发语言·c++