蓝桥等考Python组别十七级06(回文质数)

蓝桥等考Python组别十七级006

第一部分:选择题

1、Python L17 (15分)

运行下面程序,输出的结果是(    )。

def func(x, y):

    return (x - y) // 2

print(func(11, 4))

  1. 2
  2. 3
  3. 4
  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)

  1. 2 3 4 5
  2. 2 3 4 6
  3. 2 3 4
  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))

  1. 32123
  2. 32121
  3. 111222
  4. 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')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值