top1编程
← 返回题目
题解

插入数字2

1 条题解

  • 0
    @ 2026-8-4 1:12:13

    解题思路

    把三位数 x 拆成百位、十位、个位,把两位数 y 拆成十位、个位,然后按「x 的百位、y 的十位、x 的十位、y 的个位、x 的个位」的顺序拼成一个五位数。

    例如 278 和 19:2、1、7、9、8 拼起来就是 21798。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int x, y;
        cin >> x >> y;
        int a = x / 100;       // x的百位
        int b = x / 10 % 10;   // x的十位
        int c = x % 10;        // x的个位
        int d = y / 10;        // y的十位
        int e = y % 10;        // y的个位
        // 结果顺序:a, d, b, e, c
        cout << a * 10000 + d * 1000 + b * 100 + e * 10 + c << endl;
        return 0;
    }
    

    复杂度分析

    只做常数次运算,时间复杂度 O(1),额外空间复杂度 O(1)。

    • 1