C语言分解质因数
分解质因数是指将一个正整数分解成其所有素数因子的乘积。在C语言中,可以使用以下步骤来分解质因数:
初始化变量
n:要分解的正整数
i:遍历的因子
temp:存储分解结果
遍历因子
立即学习“C语言免费学习笔记(深入)”;
<code class="c">for (i = 2; i <= n/2; i++) {
if (n % i == 0) {
break;
}
}</code>
检查是否为素数
<code class="c">if (i == n/2 + 1) {
printf("%d 是一个素数\n", n);
return;
}</code>
更新变量并递归调用
<code class="c">temp = n / i;
printf("%d * ", i);
分解质因数(temp);</code>
递归退出条件
当
n为 1 时,分解过程结束。
示例
分解 12 的质因数:
<code class="c">#include <stdio.h>
void 分解质因数(int n) {
int i, temp;
for (i = 2; i <= n/2; i++) {
if (n % i == 0) {
break;
}
}
if (i == n/2 + 1) {
printf("%d 是一个素数\n", n);
return;
}
temp = n / i;
printf("%d * ", i);
分解质因数(temp);
}
int main() {
int n = 12;
分解质因数(n);
return 0;
}</code>输出:
<code>2 * 2 * 3</code>
