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
相关推荐
XiYang-DING5 小时前
【LeetCode】 225.用队列实现栈
算法·leetcode·职场和发展
ybzj.5 小时前
2025年第十六届蓝桥杯省赛C/C++大学B组 个人题解
c++
花月C5 小时前
线性动态规划(Linear DP)
算法·动态规划·代理模式
量子炒饭大师5 小时前
【C++ 11】Cyber骇客 最后的一片净土 ——【C++11的 简单介绍 + 发展历史】历史唯物主义者带你理顺C++发展的由来
c++·dubbo·c++11
hetao17338375 小时前
2025-03-24~04-06 hetao1733837 的刷题记录
c++·算法
_深海凉_6 小时前
LeetCode热题100-环形链表
算法·leetcode·链表
原来是猿6 小时前
Linux进程信号详解(三):信号保存
开发语言·c++·算法
2401_892070986 小时前
算法与数据结构精讲:最大子段和(暴力 / 优化 / 分治)+ 线段树从入门到实战
c++·算法·线段树·最大子段和
memcpy06 小时前
LeetCode 904. 水果成篮【不定长滑窗+哈希表】1516
算法·leetcode·散列表
老四啊laosi6 小时前
[双指针] 8. 四数之和
算法·leetcode·四数之和