Python基础练习题之 正整数分解质因数

本文介绍了如何使用Python实现正整数的质因数分解。通过递归函数,逐步将输入的正整数分解为质因数,并以特定格式输出。关键在于理解和运用循环、条件判断及函数调用。例如,对于输入90,程序将输出90=2*3*3*5。在分解过程中,`'{ }'.format()`用于格式化字符串,确保输出的质因数以乘号分隔,且末尾不换行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python基础练习题之 正整数分解质因数

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

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

总结:需要用到循环,if条件判断句,以及函数调用。

# -*- coding: utf-8 -*-


 i=int(input("请输入一个正整数:"))
print("%d="%i,end="")
def index(i):   
    for k in range(2,i):
        if i%k==0:
            print(k,end="*")
            return(index(i//k))
    print('{}'.format(i))
   
index(i)

输出结果:

请输入一个正整数:56
56=2*2*2*7

注意:

  1. print(’{}’.format(i))的位置

print(’{}’.format(i))的位置是很重要的,决定了你是否理解了这个函数调用及循环的过程。举个例子,56=2 * 2 * 2 * 7当找出这个正整数分解的前面的质因数(2,2, 2)后,只剩最后一个最大的质因数7,调用递归函数index(7),而7是个质因数了,不可能再进行print(k)的执行,但是这个7是得作为质因数输出的,那么就得在最后循环结束后输

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值