Day6-函数与模块的使用-练习

"""
练习1:实现计算求最大公约数和最小公倍数的函数。
举例:6 3 3   4 5  20
"""
"""

def gys(x, y):
    if x > y:
        small = y
    else:
        small = x
    for i in range(small, 1, -1):
        if x % i == 0 and y % i == 0:
            return i
print(gys(21,14))


def gbs(x, y):
    if x > y:
        big = x
    else:
        big = y
    while True:
        if big % x == 0 and big % y == 0:
            return big

        big += 1
print(gbs(9, 8))
"""

 

"""
练习2:实现判断一个数是不是回文数的函数。
回文数:正读倒读都一样的整数,如121,12321
"""
num = int(input())
temp = num
total = 0
while temp > 0:
    total = total*10+temp % 10
    temp //= 10

if total == num:
    print("是回文数")
else:
    print("不是")
"""
练习3:实现判断一个数是不是素数的函数
"""
def sushu(num):
    if num <= 1:
        return False
    for i in range(2, int(math.sqrt(num))+1):
        if num % i == 0:
            return False
        return True
print(sushu(8))
"""
练习4:写一个程序判断输入的正整数是不是回文素数。
"""

def huiwenshu(num):
    temp = num
    total = 0
    while temp > 0:
        total = total*10 + temp % 10
        temp = temp // 10
    return total == num
def sushu(num):
    for i in range(2, int(math.sqrt(num))+1):
        if num % i == 0:
            return False
        return True
if __name__ == '__main__':
    
    num = int(input())
    if huiwenshu(num) and sushu(num):
        print("yes")
    else:
        print("no")

 

posted @ 2021-03-05 15:18  三千杨柳细如丝  阅读(53)  评论(0)    收藏  举报