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
相关推荐
开源之眼1 分钟前
GitHub star和github Vue3 响应式选择指南:ref 与 reactive 加星该怎么用?
算法·github
满天星830357710 分钟前
【C++】特殊类设计
c++·windows
Ljubim.te30 分钟前
inline介绍,宏定义的注意事项以及nullptr
c语言·开发语言·c++
苦藤新鸡36 分钟前
6.三数之和
c语言·c++·算法·力扣
Frank_refuel1 小时前
C++之内存管理
java·数据结构·c++
leiming61 小时前
c++ qt开发第一天 hello world
开发语言·c++·qt
s09071361 小时前
连通域标记:从原理到数学公式全解析
图像处理·算法·fpga开发·连通域标记
@小码农1 小时前
6547网:202512 GESP认证 C++编程 一级真题题库(附答案)
java·c++·算法
TDengine (老段)1 小时前
TDengine C/C++ 连接器入门指南
大数据·c语言·数据库·c++·物联网·时序数据库·tdengine
自然语1 小时前
人工智能之数字生命-特征类升级20260106
人工智能·算法