```cpp #include <iostream> bool containsUnwantedDigits(int num) { // 检查数字是否包含 3、6、9 while (num > 0) { int digit = num % 10; if (digit == 3 || digit == 6 || digit == 9) { return true; } num /= 10; } return false; } int findNthNumber(int n) { int count = 0; int num = 1; while (count < n) { // 如果是 3 的倍数或者包含 3、6、9 则跳过 if ((num % 3 == 0) || containsUnwantedDigits(num)) { num++; continue; } count++; num++; } return num - 1; } int main() { int n; std::cin >> n; int result = findNthNumber(n); std::cout << result << std::endl; return 0; } // 额外注意点: // 1. 注意处理边界情况,比如输入的 n 为 1 时的特殊处理。 // 2. 考虑对代码进行性能优化,例如使用更高效的数字处理方法。 // 3. 对输入的 n 进行合法性检查,确保其是正整数。 ``` [2025-03-17 22:48:43 | AI写代码神器 | 333点数解答]