增补博客 第二十四篇 python 正整数的因子展开式

【题目描述】编写程序,输出一个给定正整数x(x>1)的质因子展开式。
【输入格式】请在一行中输入整数x的值。
【输出格式】对每一组输入的x,按以下格式输出x的质因子展开式(假如x的质因子分别为a、b、c):x=abc
【输入样例】72
【输出样例】72=22233

def prime_factors(x):
    factors = []
    divisor = 2
    while x > 1:
        if x % divisor == 0:
            factors.append(divisor)
            x = x // divisor
        else:
            divisor += 1
    return factors

num = int(input("请输入一个正整数 x(x > 1): "))
if num > 1:
    factors = prime_factors(num)
    if len(factors) == 1:
        print(f"{num} 为质数,质因子为: {factors[0]}")
    else:
        print(f"{num} 的质因子展开式为: {' x '.join(map(str, factors))}")
else:
    print("请输入大于1的正整数。")

  

posted @ 2024-06-14 12:33  财神给你送元宝  阅读(4)  评论(0编辑  收藏  举报