在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
函数来计算并打印其因子分解。
这个程序的实现细节包括: