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
相关推荐
小O的算法实验室1 分钟前
IEEE TCYB,着色旅行商问题:模型、求解与应用
算法
h_a_o777oah2 分钟前
【图论】网络流:Dinic 算法模板实现原理及解题技巧
c++·算法·图论·acm·网络流·最小割·dinic算法
千谦阙听7 分钟前
【 C++篇】:模板初阶——泛型编程、函数模板与类模板
开发语言·c++·学习·visual studio
傲世仙尊11 分钟前
预处理详解-define宏井号条件编译一篇过
linux·c语言
老王爱玩车16 分钟前
第6讲:数组和函数实践-----控制台扫雷
c语言·开发语言·学习
我不会起名字32220 分钟前
一天一道力扣Hot100(37):深度优先算法--括号生成
java·数据结构·c++·后端·python·算法·go
是隼人24 分钟前
buuctf-pwn [NewStarCTF 2023 公开赛道]orw&rop(shellcode+orw)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
m0_7345717634 分钟前
深入理解C++ 多态<三>(Polymorphism)模板方法模式
开发语言·c++
foolishlee40 分钟前
SCRAM-SHA-256
数据库·算法·postgresql
Rabitebla42 分钟前
【Linux 系统编程】权限(一):身份、提权,和那 9 个权限位
linux·数据结构·c++·算法