将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan num = input("请输入一个合数:")
if num.isdigit():
num = int(num)
else:
print("输入非法,请输入一个合数")
exit() if num < 2:
print("请输入一个大于2的合数")
exit() def isZhishu(num): # 判断是否是质数
for i in range(2, num):
if num % i == 0: # 不是质数
return False
else:
return True l0 = []
def fenjie(num):
i = 2
while i < num + 1:
if num % i == 0:
l0.append(i)
num /= i
else:
i += 1 if not isZhishu(num):
fenjie(num)
str0 = ''
for i in l0:
str0 = str0 + str(i) + "*"
str0 = str0[:-1] # 去掉最后一个星号
print("%s=%s" % (num, str0))
else:
print("%s是一个质数,请输入一个合数" %num)

  判断是否质数的方法,可以优化一下

from math import sqrt
def is_prime(n):
if n == 1:
return False
for i in range(2, int(sqrt(n))+1):
if n % i == 0:
return False
return True

  

最新文章

  1. 流程开发Activiti 与SpringMVC整合实例
  2. spring aop对service层日志和异常的处理
  3. c#.Net:Excel导入/导出之NPOI 2.0简介
  4. MySQLdb模块 类操作方法
  5. linux下在jar包中找类是否存在
  6. JavaScript高级程序设计(第三版)学习笔记1~5章
  7. ZOJ 2432 Greatest Common Increasing Subsequence(最长公共上升子序列+路径打印)
  8. 启用VSFTPD日志及其解读
  9. Ueditor开发经验
  10. SQL Server 阻塞排除的 2 方法
  11. 如何测试本地是否能够正常访问云服务器的 Web 端口
  12. JS的replace默认只替换第一个匹配项
  13. Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更新进度!
  14. php去掉字符串的最后一个字符
  15. SQL Server2008R2循环语句
  16. 小程序学习(冒泡,快速创建文件,以及tarbar)
  17. bootstrap-datepicker default value
  18. package.json中的几种依赖注册对象解析
  19. Flask源码阅读-第一篇(flask包下的__main__.py)
  20. [译]CQRS介绍

热门文章

  1. CCF模拟题 窗口
  2. Self-Taught Learning
  3. OpenCV —— 摄像机模型与标定
  4. storm单机运行与集群运行问题
  5. chkconfig---检查设置系统服务
  6. 今日SGU 5.5
  7. ZOJ 3524 Crazy Shopping
  8. IO流学习笔记
  9. 19.Node.js EventEmitter
  10. 用Fiddle跟踪调试移动表单