1 条题解
-
0
思路分析
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;→ 读取整数nfor(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
信息
- ID
- 58
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 698
- 已通过
- 280
- 上传者