蓝桥题库每日一练 · 2026.09.15
9月15日 输入一个小于 1000 的自然数 n(2≤n≤1…
输入一个小于 1000 的自然数 n(2≤n≤1000),输出所有小于 n 且数字中含有「3」的数。不分行、连续显示,相邻两数间隔 2 个空格。样例:n=36 → 3 13 23 30 31 32 33 34 35。
样例
输入 36输出 3 13 23 30 31 32 33 34 35评分标准
- 30 分:至少对一个随机输入用例能给出正确输出(格式不限)
- 50 分:完全符合题意,所有输入用例都正确、格式完全符合
参考解法
要找出「小于 n、并且数字里含有 3」的所有数。分两步:一是从 1 挨个数到 n−1(这是 8 月常用的「循环 + 计数」老套路);二是对每个数,判断它含不含数字 3。
怎么看一个数含不含 3?把它的每一位拆出来看:不停地「对 10 取余数」就能拿到最后一位,再「除以 10」把最后一位抹掉,一位一位检查,只要有一位是 3,就算含 3。(8 月 17 日 Scratch 报数用「包含 3」一眼就能看出来,C++ 里没有现成的「包含」,就靠拆位。)
#include <bits/stdc++.h>
using namespace std;
int main(){
int n; cin >> n;
for(int i = 1; i < n; i++){……此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。