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。
相关推荐
水饺编程12 分钟前
第1章,了解乌班图环境,使用浏览器和邮箱
c语言·汇编·ubuntu
朝朝辞暮i1 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
青梅橘子皮1 小时前
Blue---二分算法(二分查找与二分答案)
算法
长河1 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
月光船幽幽2 小时前
加性偏移外推提升参数识别可靠性
python·算法
SHARK_pssm2 小时前
【C++——类和对象(下)】
开发语言·c++·经验分享·笔记
Escalating_xu2 小时前
【C 语言】操作符详解(下):逗号、下标、结构体、类型转换与表达式求值
c语言
汉克老师2 小时前
GESP2026年9月认证C++二级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
Ivanqhz2 小时前
层归一化、残差、前馈网络与激活函数简述
服务器·数据库·人工智能·深度学习·算法
沫璃染墨3 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构