• 随笔:判断一个整数是否是质数,如果不是质数,那么因数表达式是什么


    随笔:判断一个整数是否是质数,如果不是质数,那么因数表达式是什么

    思路:

    1、判断除了能被本身之外是否还能被其他非1之外的数字整除
    2、如果可以被整除,那么被整除过后得到的商是否还可以继续被从其他数整除

    while True:
        num = input('请输入一个大于1整数:')
        s = int(num)
        list1 = []
        while True:
            for i in range(2, int(s)+1):
                if s % i == 0:
                    list1.append(i)
                    s /= i
                    break
            if int(s) == 1:
                break
        if list1 == [int(num)]:
            print(num+'是质数')
        else:
            print(num+' = ', end='')
            for j in range(0, len(list1)):
                if j != len(list1)-1:
                    print(str(list1[j])+' * ', end='')
                else:
                    print(str(list1[j]))
        assert_y_n = input('是否继续输入y/n:')
        if assert_y_n == 'n' or 'N':
            break
    
    

    运算结果

    请输入一个大于1整数:3
    3是质数
    是否继续输入y/n:y
    请输入一个大于1整数:1050
    1050 = 2 * 3 * 5 * 5 * 7
    是否继续输入y/n:y
    请输入一个大于1整数:10552
    10552 = 2 * 2 * 2 * 1319
    是否继续输入y/n:y
    请输入一个大于1整数:1319
    1319是质数
    是否继续输入y/n:y
    请输入一个大于1整数:105567
    105567 = 3 * 7 * 11 * 457
    是否继续输入y/n:y
    请输入一个大于1整数:457
    457是质数
    是否继续输入y/n:y
    请输入一个大于1整数:1114567890
    1114567890 = 2 * 3 * 5 * 37152263
    是否继续输入y/n:e
    请输入一个大于1整数:37152263
    37152263是质数
    是否继续输入y/n:N
    
    Process finished with exit code 0
    
  • 相关阅读:
    oracle 动态SQL
    Oracle 学习PL/SQL
    SQL优化原理
    JAVA环境配置
    Java接口
    Java数据类型、操作符、表达式
    C#-VS配置开发环境-摘
    Java版本
    网站构建
    Java 时间、字符串
  • 原文地址:https://www.cnblogs.com/caodingzheng/p/14007069.html
Copyright © 2020-2023  润新知