1 条题解

  • 0
    @ 2025-10-30 14:35:06

    思路分析

    1. 任务拆解:

    • 遍历所有个位为7的六位数
    • 对每个数进行数字移位操作
    • 检查移位后的数是否是原数的4倍
    • 找到满足条件的数并输出

    2. 关键点分析:

    • 原数个位为7,形式为:ABCDE7
    • 移位操作:将个位7移到首位,得到7ABCDE
    • 数学关系:7ABCDE = 4 × ABCDE7
    • 通过循环遍历所有可能的六位数

    3. 步骤规划:

    • 遍历所有个位为7的六位数(100007到999997,步长为10)
    • 对每个数i:
      • 保存临时变量i1 = i
      • 获取个位数字w = i1 % 10
      • 删除个位得到ABCDE:i1 /= 10
      • 构建新数:w×100000 + i1
      • 检查新数是否等于原数的4倍
    • 输出满足条件的原数

    4. 代码对应:

    • for(int i=100007;i<1000000;i+=10) → 遍历个位为7的六位数
    • int i1=i; → 保存当前数值
    • int w=i1%10; → 获取个位数字7
    • i1/=10; → 删除个位得到ABCDE
    • i1=w*100000+i1; → 构建新数7ABCDE
    • if(i1==i*4) → 检查是否满足4倍关系
    • cout<<i; break; → 输出结果并结束
    • 1

    信息

    ID
    14
    时间
    1000ms
    内存
    16MiB
    难度
    4
    标签
    (无)
    递交数
    382
    已通过
    184
    上传者