将i转换成string类型可以比较简单的得到i的每一位,最后暴力枚举即可

#include <bits/stdc++.h>

using namespace std;
bool check(int num)
{
    string s = to_string(num);
    int len = s.size(),sum = 0;
    bool flag = false;
    for (int i = 0; i < len; i++)
    {
        sum  += s[i] - '0';
        if(s[i] == '5') flag = true;
    }
    if(sum%3 == 0&&flag) return true;
    return false;
}
int main()
{
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        if(check(i)) cout << i << endl;
    }
    return 0;
}