Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdbool.h>
- void sieve(int n, bool primes[]);
- int main() {
- int n;
- printf("Enter the maximum number ");
- scanf("%d", &n);
- printf("Prime numbers are: ");
- bool primes[n+1];
- // initalize truth table of primes, index 0, 1 is not used
- for (int i = 2; i <= n; i++)
- primes[i] = true;
- sieve(n, primes);
- for (int i = 2; i <= n; i++)
- if (primes[i])
- printf("%d ", i);
- printf("\n");
- return 0;
- }
- void sieve(int n, bool primes[]) {
- for (int i = 2; i <= n; i++) {
- if (primes[i])
- for (int j=2*i; j <= n; j+=i)
- primes[j] = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement