1 条题解

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

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 遍历1到n的所有学号
    • 统计每个学号中数字1出现的次数
    • 累加所有学号中1的总出现次数
    • 输出总测试次数

    2. 关键点分析:

    • 需要统计每个数字中1的个数,而不是简单的计数
    • 使用临时变量ii保存当前学号,避免修改循环变量
    • 对每个学号逐位检查是否为1
    • 累加所有学号中1的总数

    3. 步骤规划:

    • 读取n的值
    • 初始化总计数器c=0
    • 循环遍历1到n的每个学号i:
      • 设置临时变量ii=i
      • 循环检查ii的每一位:
        • 获取个位数字w
        • 如果w等于1,总计数器加1
        • 删除个位数继续检查
    • 输出总计数器值

    4. 代码对应:

    • cin>>n; → 读取整数n
    • for(int i=1;i<=n;i++) → 遍历1到n的所有学号
    • int ii=i; → 保存当前学号到临时变量
    • while(ii) → 检查当前学号的每一位
    • w=ii%10; → 获取个位数字
    • if(w==1) c++; → 如果是1则计数
    • ii/=10; → 删除个位数继续检查
    • cout<<c; → 输出总测试次数
    • 1

    信息

    ID
    513
    时间
    1000ms
    内存
    32MiB
    难度
    1
    标签
    (无)
    递交数
    380
    已通过
    251
    上传者