首页 > 编程语言 >某公司笔试题 - 质数因子(附python代码)

某公司笔试题 - 质数因子(附python代码)

时间:2023-08-12 09:03:25浏览次数:44  
标签:正整数 python 质数 笔试 int 因子 print 输入

# 输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举),(如180的质因子为2 2 3 3 5)
# 数据范围 1 <= n <= 2*10**9+14

# 质数: 指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
import math

s = input("请输入一个正整数: ")

while True:
# isdigit函数判断输入的是否是全数字
if s.isdigit():
# 将输入的数字转成正整数
s = int(s)
# 判断输入的正整数的数据范围
if s >=1 and s <= 2*10**9+14:
# 在2到这个数的平方根,遍历这个正整数的公因数
for i in range(2, int(math.sqrt(s))+1):
while s % i == 0:
print(i, end=' ')
s = int(s/i)
# 正整数本身
if s > 2:
print(s)
else:
print('输入的数超出范围,请重新输入')
break
else:
print('输入的数非正整数,请重新输入')
s = input("请输入一个正整数: ")

标签:正整数,python,质数,笔试,int,因子,print,输入
From: https://www.cnblogs.com/xiaocai84/p/17624302.html

相关文章

  • Mac M1 设置python3到python
    在bash中,我们可以使用如下方式设置全局变量使用whichpython3找到python3的路径,如下sunly@sunlydeMacBook-Air~%whichpython3/Library/Frameworks/Python.framework/Versions/3.11/bin/python3然后在~/.bash_profile中设置对应的重命名aliaspython="/Library/Framew......
  • 某公司笔试题 - 进制转化(附python代码)
    #写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。#数据范围:保证结果在1<=n<=2**31-1hex_str=input("请输入一个十六进制的数:")whileTrue:try:#将十六进制的数转成10进制s=int(hex_str,16)#数据的取值范围[1,214748364......
  • Python 读取 Arduino 串口数据
    serial读取串口数据初始化serimportserialser=serial.Serial('com1',9600,timeout=1)初始化的参数ser=serial.Serial(port=None,#numberofdevice,numberingstartsat#zero.ifeverythingfails,theuser#canspecifyadevicestring,......
  • 某公司笔试题 - 字符串拆分(附python代码)
    #输入一个字符串,请按长度为8拆分每个输入字符串并进行输出#长度不是8整数倍的字符串请在后面补数字0,空字符串不处理str=input("请输入一个字符串:")#字符串长度1~7时,输出字符串并用0补齐8位iflen(str)<8andlen(str)>0:print(str+'0'*(8-len(str)))#当字符串的长......
  • 某公司笔试题 - 明明的随机数(附python代码)
    #明明生成了N个1到500之间的随机整数,请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。#数据范围:1<=n<=1000,输入的数字大小满足1<=val<=500importrandomimportnumpyasnptimes=input('请输入需要......
  • Python用 PyMC3 贝叶斯推理案例研究:抛硬币和保险索赔发生结果可视化
    全文链接:https://tecdat.cn/?p=33416原文出处:拓端数据部落公众号介绍在这里,我们将帮助客户将PyMC3用于两个贝叶斯推理案例研究:抛硬币和保险索赔发生。方法:回想一下,我们最初的贝叶斯推理方法是:设置先前的假设,并根据启发式、历史或样本数据建立我们数据的“已知已知”。形......
  • 不了解sys库也敢说Python行?sys模块这些用法你需要知道
    前言“不会用sys模块的Python程序员,和不会开车的司机一样令人捉急。”这句话一点没错,因为sys模块可以让你快速做到:解析命令行参数在运行Python程序时,我们可以在命令行中传递不同的参数,如果不用sys.argv来获取,你将很难处理程序输入。获取Python解释器信息要获取当前运行环境......
  • 【python技巧】文本文件的读写操作
    【python技巧】文本文件的读写操作0.背景最近在写后端接口的时候,需要对.c、.conf等类型的文件进行读写操作,在这里整理一下学习收获。1.file库的文件操作file库是python中用于处理文件的读取、修改等操作,引入方式为importfile1.1打开文件---file.open()使用open()函数......
  • python 监控一个程序是否启动, 启动就关掉这个程序
    要监控一个程序是否启动,并在启动后关闭该程序,可以使用Python的subprocess模块来实现。下面是一个示例代码:importsubprocessimporttime​defcheck_and_close_program(program_name):process=subprocess.Popen(["pgrep",program_name],stdout=subprocess.PIPE,stde......
  • 解锁Python集合的妙用:常用函数与实例深度解析
    Python的集合(Set)是一种无序且不重复的数据结构,拥有强大的去重和集合运算功能。在这篇博客中,我们将深入探讨集合的常用函数,并通过实际案例为你展示其灵活应用。创建集合集合可以通过花括号来创建,也可以使用内置函数set()来转换其他可迭代对象为集合。#创建集合my_set={1,2,3}......