36 lines
772 B
C
36 lines
772 B
C
// primes.c
|
|
// Řešení IJC-DU1, příklad a), 22.3.2024
|
|
// Autor: Roman Nečas, FIT
|
|
// Přeloženo: gcc 13.2.1
|
|
|
|
#include "primes.h"
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
|
|
#define N 666000000
|
|
|
|
int main() {
|
|
clock_t start = clock();
|
|
bitset_create(name, N);
|
|
Eratosthenes(name);
|
|
|
|
// Saves last 10 primes
|
|
bitset_index_t primes[10] = {0, };
|
|
int count = 0;
|
|
for (bitset_index_t i = bitset_size(name)-1; count < 10 && i > 0; i--)
|
|
{
|
|
if (bitset_getbit(name, i))
|
|
{
|
|
primes[9 - count++] = i;
|
|
}
|
|
}
|
|
//Writes last 10 primes
|
|
for (unsigned int i = 0; i < 10; i++)
|
|
{
|
|
printf("%lu\n", primes[i]);
|
|
}
|
|
|
|
fprintf(stderr, "Time=%.3g\n", (double)(clock() - start) / CLOCKS_PER_SEC);
|
|
return 0;
|
|
|
|
}
|