质数判断及其分解
楼主最近学习一小段时间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输出的位置,因数如何放在一行
- 程序不够友好,只呈现数字结果