有勇气的牛排博客

HJ质数因子

有勇气的牛排 972 算法 2022-06-26 18:20:29

描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

数据范围:1≤n≤2×109+14

输入描述:
输入一个整数

输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。

示例1

输入:180 输出:2 2 3 3 5

质数因子解释:

百度百科:https://baike.baidu.com/item/质因子
image.png

概念:

  • 一个数可以被它所有的质因子表示

解法:

  • 质数范围一定在 根号下n
  • n除以所有质因子,结果为1:24/2/2/2/3=1

牛客HJ Python

import math n = int(input()) for i in range(2, int(math.sqrt(n) + 1)): while n % i == 0: print(i, end=" ") n = n // i # 打印剩下的质数 if n > 2: print(n)

留言

专栏
文章
加入群聊