primes.c

Commit: 5e92c85e Author: jokerz Raw Copy
1
/* primes.c — Sieve of Eratosthenes for Pactor64 */
2
#include "libc.h"
3
4
#define N 100
5
6
int main(int argc, char **argv) {
7
    printf("=== Prime Numbers (Sieve of Eratosthenes) ===\n");
8
    printf("Primes up to %d:\n\n  ", N);
9
10
    char sieve[N + 1];
11
    memset(sieve, 1, sizeof(sieve));
12
    sieve[0] = sieve[1] = 0;
13
14
    for (int i = 2; i * i <= N; i++) {
15
        if (sieve[i]) {
16
            for (int j = i * i; j <= N; j += i)
17
                sieve[j] = 0;
18
        }
19
    }
20
21
    int count = 0;
22
    for (int i = 2; i <= N; i++) {
23
        if (sieve[i]) {
24
            printf("%d ", i);
25
            count++;
26
        }
27
    }
28
29
    printf("\n\nTotal: %d primes found.\n", count);
30
    return 0;
31
}
32