1 条题解
-
0
思路分析
1. 任务拆解:
- 读取整数n
- 遍历1到n的所有数字
- 计算每个数字的各位数字之和
- 统计各位数字之和既不能被2整除也不能被5整除的数字个数
- 输出统计结果
2. 关键点分析:
- 需要计算每个数字的各位数字之和
- 判断条件:各位和不能被2整除且不能被5整除
- 使用临时变量避免修改循环变量
- 逐位累加计算各位和
3. 步骤规划:
- 读取n的值
- 初始化计数器c=0
- 循环遍历1到n的每个数字i:
- 设置临时变量ii=i,初始化各位和s=0
- 循环处理ii的每一位:
- 获取个位数字w
- 累加w到s中
- 删除个位数继续处理
- 如果s不能被2整除且不能被5整除,计数器加1
- 输出计数器值
4. 代码对应:
cin>>n;→ 读取整数nfor(int i=1;i<=n;i++)→ 遍历1到n的所有数字int ii=i,s=0;→ 保存当前数字并初始化各位和while(ii)→ 处理当前数字的每一位w=ii%10;→ 获取个位数字s+=w;→ 累加到各位和ii/=10;→ 删除个位数继续处理if(s%2!=0 && s%5!=0) c++;→ 检查各位和是否满足条件cout<<c;→ 输出符合条件的数字个数
- 1
信息
- ID
- 401
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 349
- 已通过
- 209
- 上传者