欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python如何将一个正整数分解为质因数相乘

程序员文章站 2023-12-10 19:01:16
python源代码:* coding:utf-8 *Group:NETDeveloper:FANXINYANGTime:2020/6/21 13:41Name:practice1.pyTool:PyCharmdef reducenum(n): #定义一个函数print(’{}=’.format(n)) #打印传入的实参nif not isinstance(n,int) or n<...

python源代码:

* coding:utf-8 *

Group:NET

Developer:FANXINYANG

Time:2020/6/21 13:41

Name:practice1.py

Tool:PyCharm

大家好,小白今天给大家分享一道Python练习题,源码在下面。希望能和大家交流学习。嘤嘤嘤~~~

def reducenum(n): # 定义一个函数

print('{}='.format(n))  # 打印传入的实参n
if not isinstance(n, int) or n < 0:  # 首先得先判断输入的n是否为正整数
    print('请输入一个正确的数字!')
    exit(0)  # 如果不是那就退出,报错哦
elif n in [1]:  # 那还要考虑输入的是不是1呢?如果是那就把它打印出来吧,完成啦!
    print('{}'.format(n))
while n not in [1]:  # 幸运地是它不是1,啊,这该怎么办呢? 不怕给它来个遍历吧,嘿嘿
    for index in range(2, n + 1):  # 怎么写(2,n+1)呢?哇,你忘了range函数左闭右开了么,呜呜呜~~
        if n % index == 0:  # 如果取出的数可以被n整除,那就一直整除吧,哈哈哈~~
            n //= index
            if n == 1:  # 现在输出它吧
                print(index)
            else:  # 已经到底了,那就把它按题目要求打印出来吧。我好厉害啊啊啊
                print('{}*'.format(index))
            break

reducenum(10086) # 10086 大家都懂的 !
运行结果:
10086=
2*
3*
41*
41

本文地址:https://blog.csdn.net/weixin_45748187/article/details/107087659