1 条题解
-
0
思路分析
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;→ 读取整数nfor(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
- 上传者