猫史档案馆


【Python作品分享】质数判定器v2【作品秀】

用户:YYY2019YYY2019查看:0 回复:0 评论:0 创建时间:2022-12-25T19:31:37


【作品展示】

center_image

 

【作品介绍】

今天的更新就到这里咯o(* ̄︶ ̄*)o

 

【作品源代码】

"""程序介绍:
该程序可对0~999999之间的数字进行质数判定;
若不为质数,可给出输入数字的全部因子与质因子。"""

#导入math与time库
from math import *
from time import *

def factor(num):
    factors = []  # 储存因数的列表
    for_times = int(sqrt(num))
    for i in range(for_times + 1)[1:]:
        if num % i == 0:
            factors.append(i)
            t = int(num / i)
            if not t == i:
                factors.append(t)
    factors.sort()
    if factors == [1,num]: # num为质数
        flag = False
        return flag
    else: # num不是质数
        flag = True
        return factors

if __name__ == "__main__":
    #开始记录时间
    start_time = time()
    
    prime = []  # 储存质因数的列表
    while True:
        try:
            x = int(input("请输入你想判定的整数:"))
            if x > 1 and x < 999999:
                print("输入正确!")
                break
            elif x < 2:
                print("请输入大于1的数字!")
            elif x > 999999:
                print("请输入小于1000000的数字!")
        except:
            print("输入有误,请重新输入!")
            
    if factor(x):
        for i in factor(x)[1:len(factor(x))]:
            if not factor(i):
                prime.append(i)
        print("{}的因子有:\n{}".format(x, factor(x)))
        print("{}的质因子有:\n{}".format(x, prime))
    else:
        print("{}为质数".format(x))

    #停止记录时间
    stop_time = time()
    #得到中间功能的运行时间
    func_time = stop_time-start_time
    #打印程序运行时间
    print("本次程序运行时间为%s 秒" % func_time)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页