第1关:实现计算最大公约数和最小公倍数的函数。
任务描述
本关任务:编写一个能计算两个正整数最大公约数和最小公倍数的函数。。
相关知识
为了完成本关任务,你需要掌握:1.函数定义及调用,2.循环语句,3.条件语句。
编程要求
根据提示,在右侧编辑器补充代码,计算并返回最大公约数和最小公倍数。
测试说明
平台会对你编写的代码进行测试:
测试输入: 2
4
; 预期输出: 最大公约数为: 2
最小公倍数为: 4
测试输入: 6
9
; 预期输出: 最大公约数为: 3
最小公倍数为: 18
#gcd为求最大公约数的函数
#lcm为求最小公倍数的函数
def gcd(x, y):
Min = min(x,y)
while Min > 0:
if (x % Min == 0 and y % Min == 0):
break
Min -= 1
return Min
# **************end*************#
def lcm(x, y):
Max = max(x, y)
while Max <= x * y:
if Max % x == 0 and Max % y == 0:
break
Max += 1
return Max
第2关:实现判断一个正整数 是不是回文数的函数。
任务描述
本关任务:编写一个能判断一个正整数数是不是回文数的函数。 回文数:正反读取都一致的数字,如1221,23432
相关知识
为了完成本关任务,你需要掌握:1.函数定义及其调用,2.循环语句。
编程要求
根据提示,在右侧编辑器补充代码,计算并返回一个数是否为回文数,如是,返回True,如不是,返回False。
测试说明
平台会对你编写的代码进行测试:
测试输入:11112221111
; 预期输出: True
测试输入:6788672
; 预期输出: False
测试输入:18532348284323581
; 预期输出: True
def is_palindrome(num):
"""
判断一个数是不是回文数
:param num: 正整数
:return: 是回文数返回True,不是回文数返回False
"""
# 请在此处添加代码 #
# *************begin************#
a=str(num)
b=list(a)
c=list(reversed(b))
return b==c
# **************end*************#
第3关:实现判断一个数是不是素数的函数。
任务描述
本关任务:编写一个能判断一个数是否为素数的函数。
相关知识
为了完成本关任务,你需要掌握:1.函数定义及调用,2.循环语句。
编程要求
根据提示,在右侧编辑器补充代码,判断一个数是否为素数,如是素数,返回True,如不是素数,返回False。
测试说明
平台会对你编写的代码进行测试:
测试输入:85
; 预期输出: False
测试输入:17
; 预期输出: True
def is_prime(num):
"""
判断一个数是不是素数
:param num: 正整数
:return: 是素数返回True,不是素数返回False
"""
# 请在此处添加代码 #
# *************begin************#
n=2
while n<= num/2:
if num%n==0:
return False
n+=1
return True
# **************end*************#
第4关:判断输入的正整数是不是回文素数。
任务描述
本关任务:调用前面关节中的函数去判断输入的正整数是不是回文素数。
相关知识
为了完成本关任务,你需要掌握:1.函数调用。
编程要求
根据提示,在右侧编辑器补充代码,判断输入的正整数是不是回文素数。是则返回Ture,否则返回False。
测试说明
平台会对你编写的代码进行测试:
测试输入:1221
; 预期输出: False
测试输入:5
; 预期输出: True
from isprime import is_prime
from ispalindrome import is_palindrome
def prime_palindrome(num):
"""
判断一个数是不是回文素数
:param num: 正整数
:return: 是回文素数返回True,不是回文素数返回False
"""
# 请在此处添加代码 #
# *************begin************#
a=list(str(num))
b=list(reversed(a))
if a==b:
c=True
else:
c=False
n=2
while n <= num/2:
if num%n==0:
return False
n+=1
return True and c
# **************end*************#