对 2-N 间的整数分解质因素并输出(N=1000)C语言
时间: 2023-05-27 08:06:16 浏览: 38
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
void prime_factorization(int n) {
printf("%d = ", n);
if (n == 1) {
printf("1\n");
return;
}
bool first_factor = true;
for (int i = 2; i <= n; i++) {
if (!is_prime(i)) {
continue;
}
int count = 0;
while (n % i == 0) {
count++;
n /= i;
}
if (count > 0) {
if (!first_factor) {
printf(" * ");
}
printf("%d", i);
if (count > 1) {
printf("^%d", count);
}
first_factor = false;
}
}
printf("\n");
}
int main() {
for (int i = 1; i <= 1000; i++) {
prime_factorization(i);
}
return 0;
}