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
相关推荐
少许极端4 分钟前
算法奇妙屋(十五)-BFS解决边权为1的最短路径问题
数据结构·算法·bfs·宽度优先·队列·图解算法·边权为1的最短路径问题
star learning white11 分钟前
xmC语言10
c语言·开发语言
c骑着乌龟追兔子16 分钟前
Day 27 常见的降维算法
人工智能·算法·机器学习
hetao173383718 分钟前
2025-12-02~03 hetao1733837的刷题记录
c++·算法
田里的水稻20 分钟前
math_旋转变换
算法·几何学
“愿你如星辰如月”24 分钟前
C++11核心特性全解析
开发语言·c++
ada7_29 分钟前
LeetCode(python)——94.二叉
python·算法·leetcode·链表·职场和发展
广都--编程每日问31 分钟前
c++右键菜单统一转化文件为utf8编码
c++·windows·python
点云SLAM31 分钟前
C++包装器之类型擦除(Type Erasure)包装器之小对象优化(SBO, Small Buffer Optimization)示例(5)
c++·内存管理·c++高级应用·c++包装器·类型擦除包装器·内存小对象优化
AI视觉网奇31 分钟前
躯体驱动 算法学习笔记
人工智能·算法