#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
if (argc != 2) {
printf("Usage: ./a.out <num>\n");
exit(EXIT_FAILURE);
}
int n = atoi(argv[1]);
int arr[n + 1];
// init
int i;
for (i = 0; i <= n; i++)
arr[i] = i;
int p;
for (p = 2; p < n; p++)
for ( i = p + 1; i <= n; i++)
if (i % p == 0)
arr[i] = 0;
// display all prime number
for (i = 0; i <= n; i++)
if (arr[i] != 0)
printf("%d\n", arr[i]);
exit(EXIT_SUCCESS);
}
求<=n的所有素数
本文介绍了一个简单的C语言程序,该程序接受用户输入的一个整数,并使用埃拉托斯特尼筛法找出从2到该整数之间的所有素数。程序首先初始化一个数组,然后通过迭代消除非素数,最后输出所有剩余的素数。

被折叠的 条评论
为什么被折叠?



