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;
}
相关推荐
放羊郎6 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
mask哥6 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
如果'\'真能转义说7 小时前
OOXML 文档格式剖析:哈希、ZIP结构与识别
xml·算法·c#·哈希算法
夏日听雨眠7 小时前
数据结构(栈和队列)
数据结构
梦梦代码精9 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
Zephyr_09 小时前
Leedcode算法题
java·算法
流年如夢10 小时前
栈和列队(LeetCode)
数据结构·算法·leetcode·链表·职场和发展
Hello.Reader11 小时前
算法基础(十)——分治思想把大问题拆成小问题
java·开发语言·算法
绛橘色的日落(。・∀・)ノ12 小时前
机器学习之评估与偏差方差分析
算法