在C语言中,因子分解是将一个整数分解为若干个较小的整数的乘积
#includevoid 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
函数来计算并打印其因子分解。
这个程序的实现细节包括:
- 使用for循环遍历所有可能的因子。
- 使用while循环检查当前因子是否是n的因子,并更新n的值。
- 处理负数输入的情况,将其转换为正数并在结果中添加负号。
- 在循环结束后,打印因子分解的结果。