酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

7-1 一行读入一个正整数n(n>1),如果它是素数,则另一行给出是素数的信息,否则另一行输出它的质因子乘积的表达式,且要求打印的质因子从小到大(1不是质因子) 分数 10 作者 zju-mbq 单位 浙江大学 一行读入一个正整数n(n>1),如果它是素数,则另一行给出是素数的信息,否则另一行输出它的质因子乘积的表达式,且要求打印的质因子从小到大(1不是质因子) 输入格式: 一行中输入2 输出格式: 2是素数 输入样例: 在这里给出一组输入。例如: 100 输出样例: 在这里给出相应的输出。例如: 100=2*2*5*5

以下是使用 Python 语言解决此问题的代码: ```python import math def is_prime(n): if n <= 1: return False if n <= 3: return True if n % 2 == 0 or n % 3 == 0: return False i = 5 while i * i <= n: if n % i == 0 or n % (i + 2) == 0: return False i += 6 return True def factorize(n): factors = [] i = 2 while i * i <= n: while n % i == 0: factors.append(i) n //= i i += 1 if n > 1: factors.append(n) return factors n = int(input()) if is_prime(n): print(f"{n}是素数") else: factors = factorize(n) print(f"{n}=", end="") for i in range(len(factors) - 1): print(f"{factors[i]}*", end="") print(factors[-1]) ``` [2024-11-14 15:18:02 | AI写代码神器 | 278点数解答]

相关提问