在C語言中,因子分解是將一個數分解為若干個質數的乘積
#include<stdio.h>
void factorize(int num) {
int i;
printf("Factors of %d: ", num);
for (i = 2; i <= num; i++) {
while (num % i == 0) {
printf("%d ", i);
num /= i;
}
}
printf("\n");
}
int main() {
int num;
printf("Enter a number: ");
scanf("%d", &num);
factorize(num);
return 0;
}
#include<stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
void factorize(int num) {
int i;
printf("Factors of %d: ", num);
for (i = 2; i <= num; i++) {
while (is_prime(i) && num % i == 0) {
printf("%d ", i);
num /= i;
}
}
printf("\n");
}
int main() {
int num;
printf("Enter a number: ");
scanf("%d", &num);
factorize(num);
return 0;
}
這兩種方法都可以用來實現因子分解。試除法適用于較小的數字,而質因數分解法適用于較大的數字。在實際應用中,可以根據需要選擇合適的方法。