在C語言中,因子分解是將一個整數(shù)分解為若干個較小的整數(shù)的乘積
#include<stdio.h>
void factorize(int n) {
int i;
printf("Factors of %d: ", n);
// 處理n為負(fù)數(shù)的情況
if (n < 0) {
printf("-1 * ");
n = -n;
}
// 分解質(zhì)因子
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
的函數(shù),該函數(shù)接受一個整數(shù)參數(shù)n
。然后,它使用一個for循環(huán)從2開始遍歷所有可能的因子。在循環(huán)內(nèi)部,我們使用一個while循環(huán)來檢查當(dāng)前的因子i
是否是n
的因子。如果是,我們將i
添加到結(jié)果中,并將n
除以i
。這個過程會一直進(jìn)行,直到n
不再被i
整除。
在主函數(shù)main
中,我們從用戶那里獲取一個整數(shù),并調(diào)用factorize
函數(shù)來計算并打印其因子分解。
這個程序的實(shí)現(xiàn)細(xì)節(jié)包括: