PTA 7-38 数列求和-加强版

给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。

输入格式:

输入数字A与非负整数N。

输出格式:

输出其N项数列之和S的值。

输入样例:

1 3

输出样例:

123

代码

复制代码
#include <stdio.h>
int main() {
    int a, n; scanf("%d %d", &a, &n);
    int b[100001] = {0};
    int carry = 0,top = 0;
    // 第 i 位(从0开始)会被累加 (n - i) 次 a
    for (int i = 0; i < n; i++) {
        int cnt = n - i;        // 当前位需要累加的次数
        int sum = b[i] + a * cnt + carry;
        b[i] = sum % 10;        // 当前位结果
        carry = sum / 10;       // 进位
        if (i > top) top = i;
    }
    while (carry) {
        top++;
        b[top] = carry % 10;
        carry /= 10;
    }
    for (int i = top; i >= 0; i--) {
        printf("%d", b[i]);
    }
    return 0;
}
相关推荐
小肝一下10 分钟前
3. 单链表
c语言·数据结构·c++·算法·leetcode·链表·dijkstra
劈星斩月17 分钟前
监督学习算法 之 决策树
学习·算法·决策树
学计算机的计算基21 分钟前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
tachibana226 分钟前
hot100 前 K 个高频元素(347)
java·数据结构·算法·leetcode
To_OC8 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎9 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC10 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn11 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹11 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术11 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划