题解:P12162 [蓝桥杯 2025 省 C] 数位倍数

· · 题解

题目大意

1202504 中有几个数数位之和是 5 的倍数。

个人思路

这道题目数据不大,直接模拟即可。循环枚举 1202504 的每一个数,将其一个个拆分数位,再把每个数位依次累加,最后判断累加的总和是否满足 5 的倍数,若满足,则累加答案。

#include<bits/stdc++.h>
using namespace std;
int ans;
int main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    for(int i=1;i<=202504;i++){//循环枚举
        int sum=0,tmp=i;
        while(tmp){//拆分数位
            sum+=tmp%10;
            tmp/=10;
        }
        if(sum%5==0)ans++;//统计答案
    }
    cout<<ans;
    return 0;
}

最后得到答案为 40500