1 条题解

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

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 遍历1到n的所有数字
    • 找出能被5整除且至少有一位数字是5的数字
    • 统计满足条件的数字个数
    • 输出统计结果

    2. 关键点分析:

    • 先判断数字是否能被5整除(i%5==0)
    • 对于能被5整除的数字,再检查是否含有数字5
    • 使用临时变量避免修改循环变量
    • 一旦发现数字5就计数并跳出当前数字的检查

    3. 步骤规划:

    • 读取n的值
    • 初始化计数器c=0
    • 循环遍历1到n的每个数字i:
      • 如果i不能被5整除,跳过该数字
      • 设置临时变量ii=i
      • 循环检查ii的每一位:
        • 如果个位数字等于5,计数器加1并跳出内层循环
        • 否则删除个位数继续检查
    • 输出计数器值

    4. 代码对应:

    • cin>>n; → 读取整数n
    • for(int i=1;i<=n;i++) → 遍历1到n的所有数字
    • if(i%5!=0) continue; → 跳过不能被5整除的数字
    • int ii=i; → 保存当前数字到临时变量
    • while(ii) → 检查当前数字的每一位
    • w=ii%10; → 获取个位数字
    • if(w==5) c++; break; → 发现5则计数并跳出
    • ii/=10; → 删除个位数继续检查
    • cout<<c; → 输出满足条件的数字个数
    • 1

    能被5整除且至少有一位数字是5的所有整数的个数

    信息

    ID
    58
    时间
    1000ms
    内存
    16MiB
    难度
    5
    标签
    (无)
    递交数
    698
    已通过
    280
    上传者