zoukankan      html  css  js  c++  java
  • 随笔:判断一个整数是否是质数,如果不是质数,那么因数表达式是什么

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

    思路:

    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
    
  • 相关阅读:
    SQl语句学习笔记(二)
    Adaboost 算法
    降维PCA技术
    scanf 格式化字符串详解
    大小端模式和位域详解(转载)
    推荐系统开源软件列表汇总和点评(转载)
    遗传算法入门(转载)
    大白话解析模拟退火算法(转载)
    机器学习相关——协同过滤(转载)
    python面向对象之单例模式
  • 原文地址:https://www.cnblogs.com/caodingzheng/p/14007069.html
Copyright © 2011-2022 走看看