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

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

题目要求

image.png

代码

# 判断是否为素数
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)

结果

image.png

相关文章
|
2月前
判断一个素数能被几个9整除
【10月更文挑战第10天】判断一个素数能被几个9整除。
41 2
|
7月前
|
Python
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
380 1
|
7月前
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
79 5
|
6月前
数组\判断是否能被已知且小于x的素数整除
数组\判断是否能被已知且小于x的素数整除
29 0
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
108 0
判断是否是质数
判断是否是质数
68 0
输出100以内的素数(质数)
输出100以内的素数(质数)
186 0
求自定义范围内的素数(质数)
判定数字是质数需要循环判断 因此需要定义(flag)用于记录循环的结果 结果如图
93 0
求自定义范围内的素数(质数)
09:判断能否被3,5,7整除
09:判断能否被3,5,7整除
387 0