在C語言中,因子分解是將一個整數分解為若干個較小的整數的乘積
#include<stdio.h>
void factorize(int n) {
int i;
printf("Factors of %d: ", n);
// 處理n為負數的情況
if (n < 0) {
printf("-1 * ");
n = -n;
}
// 分解質因子
for (i = 2; i <= n; i++) {
while (n % i == 0) {
printf("%d * ", i);
n /= i;
}
}
printf("\n");
}
int main() {
int n;
printf("Enter an integer: ");
scanf("%d", &n);
factorize(n);
return 0;
}
這個程序首先定義了一個名為factorize
的函數,該函數接受一個整數參數n
。然后,它使用一個for循環從2開始遍歷所有可能的因子。在循環內部,我們使用一個while循環來檢查當前的因子i
是否是n
的因子。如果是,我們將i
添加到結果中,并將n
除以i
。這個過程會一直進行,直到n
不再被i
整除。
在主函數main
中,我們從用戶那里獲取一個整數,并調用factorize
函數來計算并打印其因子分解。
這個程序的實現細節包括: