1 条题解

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

    思路分析

    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; → 读取整数n
    • for(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
    上传者