1 条题解

  • 0
    @ 2026-10-18 17:44:00

    G1026 [GESP202603 一级] 数字替换 题解

    难度:1(GeekPi教学评定);知识点:字符串遍历、字符替换。

    解题思路

    把输入作为字符串读取,逐个字符检查,将字符4改成8,其余字符保持原样,然后输出整个字符串。一级也可用数位分解后重建整数。

    为什么正确

    逐位替换只改变题目指定的数字,各位顺序和其余数字均保持不变,所以结果符合规则。

    易错点

    比较与赋值使用字符常量'4'、'8';多个4都要替换。

    复杂度

    时间:O(L),L为位数;额外空间:O(L)。

    参考代码(C++17)

    #include<bits/stdc++.h>
    
    using namespace std;
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        string s;
        cin>>s;
        for(char &c:s)if(c=='4')c='8';
        cout<<s;
    }
    

    来源与说明

    本题解为配套教学整理,非官方题解。题库使用自行生成的测试数据,5个测试点。

    • 1

    信息

    ID
    634
    时间
    1000ms
    内存
    512MiB
    难度
    进阶
    标签
    递交数
    2
    已通过
    1
    上传者