Python蓝桥杯等级考试真题–第16级
一、 选择题
答案:B
解析:(7+5)//2=12//2=6,故答案为B。
答案:B
解析:因为x=15,所以range(2,15),i的取值为2-14,15%3=0,15%5=0,故答案为B。
答案:A
解析:从for i in range(2,13)可知i的取值为2-12,x=13没有可以给i相除的,所以返回True,故答案为A。
二、编程题
【参考程序】
def is_prime(num):
"""判断一个数是否为质数"""
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def count_special_primes(n):
"""计算满足条件的两位质数个数"""
count = 0
# 遍历所有两位数
for num in range(10, n+1):
# 检查当前数是否为质数
if is_prime(num):
# 交换个位和十位得到新数
swapped_num = int(str(num % 10) + str(num // 10))
# 检查新数是否也为质数
if is_prime(swapped_num):
count += 1
return count
# 输入示例
n = int(input())
# 输出结果
print(count_special_primes(n))
解析:首先定义了一个辅助函数is_prime用来判断一个数是否为质数。然后定义了主要函数count_special_primes,它遍历所有不大于给定数n的两位数,检查每个数是否为质数并且它的个位与十位交换后仍然是质数,统计满足条件的数的个数,并返回这个计数。最后,使用输入样例20来调用这个函数并打印结果。