将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; }