[go: up one dir, main page]

Ideone.com requires JavaScript to work.
fork download
  1. #include <stdio.h>
  2. #define N 101
  3. int main()
  4. {
  5. // 定义一个数组,初始假设所有数都是素数,标记为 1
  6. int a[N], i, j;
  7. for (i = 2; i < N; i++) {
  8. a[i] = 1;
  9. }
  10. // 筛选过程
  11. for (i = 2; i < N; i++) {
  12. if (a[i] == 1) {
  13. // 把 i 的倍数(从 2*i 开始)标记为非素数(0)
  14. for (j = i * 2; j < N; j += i) {
  15. a[j] = 0;
  16. }
  17. }
  18. }
  19. // 输出 100 以内的素数
  20. printf("100 以内的素数有:\n");
  21. for (i = 2; i < N; i++) {
  22. if (a[i] == 1) {
  23. printf("%d ", i);
  24. }
  25. }
  26. printf("\n");
  27. return 0;
  28. }
  29.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
100 以内的素数有:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97