美文网首页
分解质因数

分解质因数

作者: NoFacePeace | 来源:发表于2017-11-05 12:04 被阅读0次

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

程序分析

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

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

代码

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

def prime(n):
    l = []
    while n > 1:
        for i in range(2, n + 1):
            if n % i == 0:
                n = int(n / i)
                l.append(i)
                break
    return l

s = input("Please input a right number:")
if s.isdigit() and int(s) > 0:
    print(s, '=', '*'.join([str(x) for x in prime(int(s))]))
else :
    print('Please input a right number')

相关文章

  • 分解质因数和应用

    分解质因数是什么分解质因数就是将一个合数分解成多个质数相乘的形式,这就是分解质因数。我举个最简单的例子,比如说4它...

  • 辅导笔记(4):质因数分解

    // 把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。 //输入样例:36 //输出:3...

  • 阶乘分解

    题目链接:阶乘分解分解阶乘的质因数。将1~N每个数,分别分解质因数合并的时间复杂度是。对于N!来说假设p

  • 分解质因数

    def analysisNum(num): analysisNum(100)

  • 分解质因数

    题目将一个正整数分解质因数。例如:输入90,打印出90=233*5. 程序分析 对n进行分解质因数,应先找到一个最...

  • 分解质因数

    对一个整数进行分解质因数。方法一:暴力: 方法二:Pollard Rho算法时间复杂度为n^0.25 原文请点击这...

  • 分解质因数

  • 分解质因数

    //输入两个数字a,b,则输出从a到b之间的所有整数的分解出质因数乘积的式子 void calArray(int ...

  • 分解质因数

    题目内容:每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如...

  • 分解质因数

    问题描述 任何一个合数都可以写成几个质数相乘的形式,这几个质数叫做这个合数的质因数。编程实现分解质因数。 测试样例...

网友评论

      本文标题:分解质因数

      本文链接:https://www.haomeiwen.com/subject/cpycmxtx.html