python 实现输入一个小于1000的整数,对其进行因式分解

python 实现输入一个小于1000的整数,对其进行因式分解

编写程序,用户从键盘输入一个小于1000的整数,对其进行因式分解。例如:10=2 X 5 ; 60 = 2 X 2 X 2 X 3 X 5

实现这个小程序,主要使用到的思想就是一个简单的递归思想。

用户输入一个整数,接收整数,之后把整数传入到递归函数中,使用递归函数计算出该整数的所有最简因式。

def index(n):
    global list1
    for i in range(2, n+1):
        if n % i == 0:            # 找出n中最小的因式
            list1.append(i) 
            index(n//i)           # 把n除去n的最小因式的结果进行递归
            break

主函数调用,并且处理输出结果:

if __name__ == '__main__':
    list1 = []
    num = input("输入一个小于1000的整数:")
    index(int(num))

    # 当用户输入的整数是一个素数时候(此时的因式列表中只有一个元素,并且就是整数本身)
    if len(list1) == 1:
        string1 = '{} = {} * {}'.format(num,1,num)
        print(string1)
    
    # 当用户输入的整数不是素数的时候
    else:
        string1 = '{} = '.format(num)
        for i in list1:
            string1 = string1 + '{} * '.format(i)
        print(string1[:-2])

这样子就能够实现一个简单的求解整数的因式的程序了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115122.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用计算机最炫民族风乐谱,最炫民族风乐谱及歌词[通俗易懂]

    用计算机最炫民族风乐谱,最炫民族风乐谱及歌词[通俗易懂]最炫民族风乐谱及歌词《最炫民族风》是凤凰传奇演唱的一首流行歌曲,由张超作词和谱曲,发行于2009年5月27日,是其第三张专辑《最炫民族风》的主打歌。下面由百分网小编为大家介绍《最炫民族风》乐谱,希望能帮到你。《最炫民族风》乐谱【图片来源:中国曲谱网】《最炫民族风》歌词苍茫的天涯是我的爱绵绵的青山脚下花正开什么样的节奏是最呀最摇摆什么样的歌声才是最开怀弯弯的河水从天上来流向那万紫千红一片海火辣辣的歌…

    2022年9月22日
    2
  • 史上最全的Android基础教程+入门实战训练+处理技巧(建议收藏)|寻找C站宝藏

    史上最全的Android基础教程+入门实战训练+处理技巧(建议收藏)|寻找C站宝藏有个专栏包含了Android基础教程和入门实战训练的Android项目,还有各种Android处理技巧。没错,就是我从一年前开始做的Android王国专栏。为什么叫王国呢?因为我觉得接触任何领域的第一步都是先打好基础,然后再实战演练建筑高楼,最后学会各种技巧建筑围墙,这样你的知识王国就建好了,当然这座王国还在不断更新加固。赶紧收藏起来吧,在这里,0基础学会做app!

    2022年6月12日
    35
  • stm32 st_基于STM32

    stm32 st_基于STM32用了不少芯片,就只有51有位操作,这个特性很喜欢,赋值简单、效率又高且节省内存,不必为了一个bool去分配一个uint8.发现stm32有Bit-Banding,就试了一下,用MDK-ARM环境下的汇编代码做了一些比较。操作,清零USART1的SR寄存器的TC位:方法一://利用USART_TypeDef这个结构寻到SR的地址,再赋值USART1->SR&amp…

    2022年10月13日
    3
  • 数据库课程设计银行管理系统(SQL Server)「建议收藏」

    数据库课程设计银行管理系统(SQL Server)「建议收藏」1需求分析     生活在21世纪,我们每个人的日常生活免不了跟银行打交道。安全、规范、操作简单、功能齐全的银行管理系统能使业务得以顺利流畅的办理,使人们获得极好的用户体验。基于这样的背景,我的选题是银行管理系统。   日常生活中的银行管理系统很复杂,对安全性和完整性要求都很高。在此我运用数据库课上所学知识,结合自己平时的银行业务体验,认为一个合格的银行管理系统至少应该具备以下

    2022年5月19日
    43
  • 电视液晶屏好坏测试工具(分辨率4k测试工具)

    原标题:如何检测电视屏幕真伪4K、坏点漏光?两款工具一键辨别!现在的智能电视屏幕越大越薄,且许多品牌的电视都打着4K屏幕的旗号,但你真的买对电视了吗?对于大屏智能电视来说,屏幕真的很重要,在选购需要必须确定电视屏幕无坏点漏光现象,非伪4K电视屏。今天当贝市场小编分享的这两款工具,能一键辨别电视屏幕真伪4K,是否有坏点漏光等现象。1、屏幕大师屏幕大师专为智能电视及网络机顶盒设备打造,提供了包括色…

    2022年4月16日
    302
  • Linux Ubuntu 虚拟机不能连网、Linux Ubuntu 虚拟机怎么连网

    主机与虚拟机文件传递移步:https://blog.csdn.net/qq_38786209/article/details/79984879notice:!!!虚拟机不能上网,可能会有很多原因,但是如果没有特殊要求,只是想尽快连上网使用的话,推荐采用以下方式。虚拟机不能上网:情形1:如果是刚刚安装好虚拟机,主机是无线网络(WIFI)连接,但是虚拟机不能上网,切记可以直接把网络模式…

    2022年4月7日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号