给两个数a,b,从小到大输出a和b之间所有数位中包含3的整数(包括a和b)。 输入格式 第一行,两个空格分隔的整数a,b。 输出格式 若干行,每行一个整数,按顺序表示从a到b满足要求的数字。
时间: 2024-02-05 17:13:40 浏览: 20
以下是 Python3 代码实现:
```python
a, b = map(int, input().split())
for i in range(a, b+1):
if '3' in str(i):
print(i)
```
首先读入两个整数 a 和 b,然后循环从 a 到 b 的所有整数,对于每个整数,将其转换为字符串类型并在其中查找是否包含字符 '3',如果包含,则输出该整数。
相关问题
如果一个两位数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13. 给定两个正整数 A,B,请求出大于等于 A小于等于B的所有绝对素数。 输入 1行,包含两个正整数 A 和 B 输出若干行,每行一个绝对素数,从小到大输出
以下是 Python 的代码实现,使用了筛法求素数:
```python
def sieve(n):
is_prime = [True] * (n + 1) # 初始化为全是素数
is_prime[0] = is_prime[1] = False # 0 和 1 不是素数
for i in range(2, n + 1):
if is_prime[i]: # 如果 i 是素数,将其倍数全部标记为非素数
for j in range(i * 2, n + 1, i):
is_prime[j] = False
return is_prime
def is_absolute_prime(n):
a = n // 10 # 十位数
b = n % 10 # 个位数
rev = b * 10 + a # 反转后的数字
return is_prime[n] and is_prime[rev] # 判断是否为绝对素数
m, n = map(int, input().split())
is_prime = sieve(n) # 筛出 n 以内的素数
for i in range(m, n + 1):
if i >= 10 and is_absolute_prime(i):
print(i) # 输出绝对素数
```
希望能对你有所帮助!
如果一个两位数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13. 给定两个正整数 A,B,请求出大于等于 A小于等于B的所有绝对素数。 输入 1行,包含两个正整数 A 和 B 输出若干行,每行一个绝对素数,从小到大输出C++
以下是 C++ 的代码实现,使用了筛法求素数:
```c++
#include <iostream>
#include <cstring>
using namespace std;
const int MAXN = 100;
bool isPrime[MAXN]; // 是否是素数
void sieve(int n) {
memset(isPrime, true, sizeof(isPrime)); // 初始化为全是素数
isPrime[0] = isPrime[1] = false; // 0 和 1 不是素数
for (int i = 2; i <= n; i++) {
if (isPrime[i]) { // 如果 i 是素数,将其倍数全部标记为非素数
for (int j = i * 2; j <= n; j += i) {
isPrime[j] = false;
}
}
}
}
bool isAbsolutePrime(int n) {
int a = n / 10; // 十位数
int b = n % 10; // 个位数
int rev = b * 10 + a; // 反转后的数字
return isPrime[n] && isPrime[rev]; // 判断是否为绝对素数
}
int main() {
int m, n;
cin >> m >> n;
sieve(n); // 筛出 n 以内的素数
for (int i = m; i <= n; i++) {
if (i >= 10 && isAbsolutePrime(i)) {
cout << i << '\n'; // 输出绝对素数
}
}
return 0;
}
```
希望能对你有所帮助!
阅读全文