对 2-N 间的整数分解质因素并输出(N=1000)C语言
时间: 2023-05-27 11:06:11 浏览: 80
以下是对2-N间整数的分解质因数并输出的C语言代码:
```c
#include <stdio.h>
#define N 1000
int main() {
int prime[N+1] = {0}; // 用于筛选质数
int i, j;
// 埃氏筛法,筛选出2-N间的所有质数
for (i = 2; i <= N; i++) {
if (prime[i] == 0) {
for (j = i*i; j <= N; j += i) {
prime[j] = 1;
}
}
}
// 对2-N间的每个数进行分解质因数
for (i = 2; i <= N; i++) {
if (prime[i] == 0) {
int n = i;
printf("%d=", n);
for (j = 2; j <= n; j++) {
if (prime[j] == 0 && n % j == 0) {
printf("%d", j);
n /= j;
if (n != 1) {
printf("*");
}
j--;
}
}
printf("\n");
}
}
return 0;
}
```
首先使用埃氏筛法筛选出2-N间的所有质数,然后对每个数进行分解质因数。对于每个数,从最小的质数2开始,一直除到不能再整除为止,然后再从下一个质数开始除,直到该数被分解完毕。注意,每次找到一个质因数后需要将它除掉,同时也要将n除以该质因数,以便继续找下一个质因数。最后输出质因数分解的结果即可。