通过函数判断一个自然数是否为素数

it2024-05-10  43

题目要求

代码

# 判断是否为素数 def is_prime(data): flag = True int_list = [] if data > 1: for i in range(2,data): # 查找除了1和其本身外,其他因子 if data % i == 0: # print(data,'不是素数') flag = False int_list.append(i) for i in range(2,data): if data % i == 0: return int_list # else: # print(data,'是素数') return flag # 找出指定范围内所有的素数 def range_sushu(data1,data2): data_list = [] for num in range(data1,data2 + 1): # 素数大于 1 if num > 1: for i in range(2,num): if (num % i) == 0: break else: data_list.append(num) # print(num) print("{}:{}指定范围内的素数列表为:{}".format(data1,data2,data_list)) return True if __name__ == "__main__": # 基础要求 number = input("请输入一个不大于1000的自然数:") flag = is_prime(int(number)) if flag == True: print("{}是一个素数".format(int(number))) else: print("{}不是一个素数".format(int(number))) print("能整除该数的所有整数列表{}".format(flag)) # 高级要求 lim1,lim2 = eval(input("请输入两个不大于1000的自然数作为搜索范围:")) if lim1 <= lim2: range_sushu(lim1,lim2) else: range_sushu(lim2,lim1) # print(lim1,lim2)

结果

最新回复(0)