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
相关推荐
Morwit2 分钟前
*【力扣hot100】 448. 找到所有数组中消失的数字
数据结构·算法·leetcode
雾岛听蓝5 分钟前
理解C++多态
开发语言·c++
朔北之忘 Clancy6 分钟前
第二章 分支结构程序设计(2)
c++·算法·青少年编程·竞赛·教材·考级·讲义
济61710 分钟前
c语言基础(1)--数据类型说明
c语言·开发语言
小屁猪qAq10 分钟前
设计模式的基石
开发语言·c++·设计模式
FAFU_kyp19 分钟前
Rust 流程控制学习教程
学习·算法·rust
0和1的舞者27 分钟前
力扣hot100-链表专题-刷题笔记(二)
笔记·算法·leetcode·链表·职场和发展
曾几何时`34 分钟前
MySQL(四)表的约束
算法
gihigo199834 分钟前
竞争性自适应重加权算法
人工智能·算法·机器学习
明洞日记1 小时前
【CUDA手册004】一个典型算子的 CUDA 化完整流程
c++·图像处理·算法·ai·图形渲染·gpu·cuda