蓝桥等考Python组别十七级006
第一部分:选择题
1、Python L17 (15分)
运行下面程序,输出的结果是( )。
def func(x, y):
return (x - y) // 2
print(func(11, 4))
- 2
- 3
- 4
- 5
正确答案:B
2、Python L17 (15分)
运行下面程序,输出的结果是( )。
def func(x):
for i in range(2, x):
if x % i == 0:
print(i, end = ' ')
func(12)
- 2 3 4 5
- 2 3 4 6
- 2 3 4
- 2 3 4 6 8
正确答案:B
3、Python L17 (20分)
运行下面程序,输入哪项时,输出的是True?( )
def palindrome(x):
if x[ : : -1] == x:
return True
return False
n = input()
print(palindrome(n))
- 32123
- 32121
- 111222
- 121212
正确答案:A
第二部分:编程题
4、Python L17 回文质数(50分)
题目描述:
在大于1的自然数中,除了1和它本身以外不再有其他因数的数叫做质数。
若将一个自然数的各位数字反向排列所得的数与原数相等,则称这个自然数为回文数。
如果一个数既是质数,同时又是回文数,我们称之为回文质数。如131,353这样的数就是回文质数。
输入一个正整数x,判断它是不是回文质数。
输入:
一个正整数x(1<=x<=100000000)。
输出:
一个字符串,如果x是回文质数,输出“yes”,否则输出“no”。
输入样例1:
131
输出样例1:
yes
参考程序1:
def prime(x): #判断x是不是质数
if x == 0 or x == 1:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
def palindrome(x): #判断x是不是回文字符串
if x[ : : -1] == x:
return True
return False
x = int(input())
if prime(x) and palindrome(str(x)):
print('yes')
else:
print('no')
参考程序2:
def prime(x): #判断x是不是质数
if x == 0 or x == 1:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
def reve(x): #判断x是不是回文数
temp = x
y = 0
while x > 0:
y = y * 10 + x % 10
x //= 10
return y == temp
x = int(input())
if prime(x) and reve(x):
print('yes')
else:
print('no')