1 条题解

  • 0
    @ 2025-10-30 14:26:51

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 遍历1到n的所有数字
    • 对每个数字判断是否为回文数
    • 统计回文数的个数
    • 输出统计结果

    2. 关键点分析:

    • 回文数定义:正读和反读都相同的数
    • 通过构建反转数来判断是否为回文数
    • 所有1位数都是回文数

    3. 步骤规划:

    • 读取n的值
    • 初始化计数器g=0
    • 循环遍历1到n的每个数字i:
      • 保存临时变量ii = i
      • 初始化反转数c=0
      • 循环构建反转数:
        • 获取个位数字w
        • c = c×10 + w
        • 删除个位数
      • 如果c等于i,计数器加1
    • 输出回文数的个数

    4. 代码对应:

    • cin>>n; → 读取整数n
    • for(int i=1;i<=n;i++) → 遍历1到n的所有数字
    • int ii=i; → 保存当前数值
    • int c=0; → 初始化反转数
    • while(ii) → 构建反转数
    • w=ii%10; → 获取个位数字
    • c=c*10+w; → 构建反转数
    • ii/=10; → 删除个位数
    • if(c==i) g++; → 判断是否为回文数并计数
    • cout<<g; → 输出回文数的个数
    • 1

    信息

    ID
    150
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    (无)
    递交数
    284
    已通过
    176
    上传者