蓝桥等考Python组别
十七
级
第一部分:选择题
1、Python L
17
(15分)
运行下面程序,输出的结果是( )。
def func(x
, y
):
return
(x - y) // 2
print(func(
10, 4
))
2
3
5
6
正确答案:
B
2
、Python L
17
(
15
分)
运行下面程序,输出的结果是( )。
def func(x):
for i in range(2, x):
if x % i == 0:
print(i, end = ' ')
func(
8
)
2
2 4
1 2 4
2 4 8
正确答案:
B
3、Python L
17
(20分)
运行下面程序,输入
哪个
数时,输出的是
True?
( )
def isPrime(x):
if x ==
0 or x == 1
:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
n = int(input())
print(isPrime(n))
5
10
12
18
正确答案:
A
第二部分:编程题
4
、Python L
17 含k个“2”的质数
(
5
0分)
题目描述:
在大于1的自然数中,除了1和它本身以外不再有其他因数的数叫做质数。
输入两个正整数x、k,判断x是否符合以下特点,如果符合输出“yes”,否则输出“no”。
1.x是质数;
2.x恰好
包含
k个数字“2”。
例如:
x=22
3
,k=2,
22
3
是质数,而且恰好
包含
2个数字“2”,符合上述特点
。
输入:
第一行一个正整数x(1<=x<=100000)
;
第
二
行一个正整数
k
(1<=
k
<=
5
)
。
输出:
一个字符串,如果x符合上述特点,输出“yes”,否则输出“no”。
输入样例1:
2
23
2
输出样例1:
yes
参考程序
1
:
def isPrime(x): #判断x是不是质数
if x == 0 or x == 1:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
x = int(input())
k = int(input())
if isPrime(x) and str(x).count('2') == k:
print('yes')
else:
print('no')
参考程序
2
:
def eratosthenes(x):
#埃拉托斯特尼筛法
isPrime = [True] * (x + 1)
for i in range(2, int(x ** 0.5) + 1):
if isPrime[i]:
for j in range(i * i, x + 1, i):
isPrime[j] = False
return isPrime[x]
x = int(input())
k = int(input())
if eratosthenes(x) and str(x).count('2') == k:
print('yes')
else:
print('no')
测试数据:
1.in
223
2
1.out
yes
2.in
212212
4
2.out
no
3.in
2211
2
3.out
no
4.in
32323
2
4.out
yes
5.in
21
3
5.out
no
蓝桥杯青少组Python组别17级编程练习真题(第4套,共8套)