用python判断质数及其分解因数

质数判断及其分解

楼主最近学习一小段时间python,在舍友的好奇下,写了一个python判断质数及其分解的代码

质数(prime number)又称[素数],定义为在大于1的自然数中,除了1和它本身以外不再有其他[因数]

举个简单例子:

  • 6=2*3
    这里6能被2和3整除,2,3为6除了1和6以外的因数,故6不是质数
  • 7=1*7
    我们可以知道,7只能被1和7整除,故7为质数

介绍结束,让我们看看代码情况

#质数判断及其分解
def main():
    n = eval(input("please enter a number:"))
    print (n,"=")
    judge(n)

def judge(n):
    for i in range(2 , int(n/2+1)):
        if n % i == 0:
            print (i)
            print ("*")
            return judge(n / i)
    print (n)

main()

最后的运行结果如下

please enter a number:51
51 =
3
*
17.0

运用递归思想,将可能还有存在因数的n用rentun返回到函数中,设置“余数不为零”为基例。

才疏学浅,还有几个地方没有完善

  • 未了解print输出的位置,因数如何放在一行
  • 程序不够友好,只呈现数字结果

你可能感兴趣的:(用python判断质数及其分解因数)