首页 > 编程语言 >python-将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

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

时间:2022-11-04 11:06:54浏览次数:41  
标签:end python break int while print 90 质因数


分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

  1. 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
  2. 如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
  3. 如果n不能被k整除,则用k+1作为k的值,重复执行第一步

代码示例如下

解法一

while 1:
n = int(input('请输入一个整数:'))
print('%d='%n,end='')
while n>1:
for i in range(2,n+1):
if n%i==0:
n=int(n/i)
if n==1:
print('%d'%i,end='')
else:
print('%d*'%i,end='')
break
print()

运行结果:

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


解法二

from math import sqrt
while 1:
n=int(input('请输入整数:'))
print ("%d = " %n , end = '')
while 1:
for i in range(2,int(sqrt(n)+1)):
if n%i==0:
print('%d*'%i,end='')
n=int(n/i)
break
else:
print(n)
break

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


标签:end,python,break,int,while,print,90,质因数
From: https://blog.51cto.com/u_15861560/5822291

相关文章

  • python-练习
    Python实现秒表功能importtimeprint('按下回车开始计时,按下Ctrl+C停止计时')whileTrue:try:input()starttime=time.time()print('开......
  • python-requests的简单用法
    做一个总结~以便以后参考本文参考:​​​添加链接描述​​importrequestsGET请求eg:r=requests.get('http://httpbin.org/get')print(r.url)传参eg:load={'key1':'value1......
  • python-迭代器与生成器
    迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。字符串,列表或元组对象都可用于创建......
  • python-求三角形的面积
    计算三角形的面积法一:#计算三角形的面积a=float(input('输入三角形第一边长:'))b=float(input('输入三角形第二边长:'))c=float(input('输入三角形第三边长:'))whilea......
  • python-当字符串为空则抛出异常
    今天有一个需求,判断字符串是否为空,为空则抛出异常python的异常有个大基类,承的是Exception。所以我们自定义类也必须继承Exception#最简单的自定义异常classFError(Exceptio......
  • Python-SMTP发送邮件
    之前学习过SMTP(SimpleMailTransferProtocol,知道是简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很......
  • python-二次方程
    导入cmath模块,计算复杂数学运算eg:我们计算二次方程式ax**2+bx+c=0代码如下:importcmatha=float(input('输入a:'))b=float(input('输入b:'))c=float(in......
  • Python yield 使用浅析
    之前了解了生成器的概念,带有yield的函数在Python中被称之为generator(生成器),那么应该什么时候使用呢?举个例子:简单输出斐波那契數列前N个数deffab(max):n,a,b=......
  • python之sys模块
    python之sys模块详解之前用过sys模块的一种用法,今天总结一下。sys.argv功能:在外部向程序内部传递参数eg:#!/usr/bin/envpythonimportsysprint(sys.argv[0])print(sys.arg......
  • python画图 去除横纵坐标值;设置横纵坐标名称;设置坐标轴刻度大小
    1.去除横纵坐标值plt.xticks([])#去掉横坐标值plt.yticks([])#去掉纵坐标值2.设置横纵坐标名称ax1.set_xlabel('Outputclass',fontsize=24)#设置x轴名称a......