以下是使用 Python 解决此问题的代码: ```python import math def factorial_prime_decomposition(n): prime_factors = {} for i in range(2, n + 1): num = i for prime in range(2, int(math.sqrt(num)) + 1): while num % prime == 0: if prime in prime_factors: prime_factors[prime] += 1 else: prime_factors[prime] = 1 num //= prime if num > 1: if num in prime_factors: prime_factors[num] += 1 else: prime_factors[num] = 1 for prime, count in sorted(prime_factors.items()): print(prime, count) n = int(input("请输入一个整数 n: ")) factorial_prime_decomposition(n) ``` 这段代码首先创建一个空字典来存储质因数及其出现的次数。然后,对于从 2 到 n 的每个数,分解其质因数并更新质因数的计数。按质因数从小到大的顺序打印出质因数和其对应的次数。 [2024-10-20 20:32:23 | AI写代码神器 | 272点数解答]