1 条题解

  • -2
    @ 2025-10-30 16:14:13

    思路分析

    1. 任务拆解:

    • 遍历所有四位数(1000到9999)
    • 对每个数计算其反序数(DCBA)
    • 检查原数乘以千位数字(A)是否等于反序数
    • 输出满足条件的数

    2. 关键点分析:

    • 四位数ABCD:千位A = i/1000
    • 反序数DCBA:通过循环取反得到
    • 条件:ABCD × A = DCBA

    3. 步骤规划:

    • 遍历1000到9999的所有四位数
    • 对每个数i:
      • 保存临时变量ii = i
      • 计算反序数ds
      • 获取千位数字A = i/1000
      • 检查i × A 是否等于 ds
    • 输出满足条件的数

    4. 代码对应:

    • for(int i=1000;i<=9999;i++) → 遍历所有四位数
    • int ii=i; → 保存当前数值
    • int ds=0; → 初始化反序数
    • while(ii) → 构建反序数
    • ds=ds*10+ii%10; → 构建反序数DCBA
    • ii/=10; → 删除个位数
    • if(i*(i/1000)==ds) → 检查条件ABCD×A=DCBA
    • cout<<i<<endl → 输出满足条件的数
    • @ 2025-11-28 12:49:43

      666

    • @ 2025-11-28 12:50:11

      有代码吗???????

  • 1

信息

ID
1331
时间
1000ms
内存
128MiB
难度
3
标签
(无)
递交数
45
已通过
27
上传者