您可以使用以下 C 语言代码来解决此问题:
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n); // 输入数字
// 从 2 开始枚举质因子
for (int i = 2; i <= n; i++)
{
// 如果 i 是 n 的质因子,就输出 i 并将 n 除以 i
while (n % i == 0)
{
printf("%d ", i);
n /= i;
}
}
return 0;
}
算法流程:
- 从 2 开始枚举所有可能的质因子。
- 如果当前质因子 i 是 n 的质因子,就输出 i 并将 n 除以 i。
- 再次枚举 i,直到 n 不能被 i 整除为止。
- 重复步骤 1~3,直到 n 为 1 为止。
示例:
输入: 90
输出: 2 3 3 5