Startertutorials Blog
Tutorials and articles related to programming, computer science, technology and others.
Subscribe to Startertutorials.com's YouTube channel for different tutorial and lecture videos.
Home » Programming » C Programming » Programs » Others » C program to print prime numbers using Sieve of Eratosthenes
Suryateja Pericherla Categories: Others. 1 Comment on C program to print prime numbers using Sieve of Eratosthenes
3.7
(3)

This is a C program to print prime numbers using Sieve of Eratosthenes, which is said to be the most efficient algorithm for generating prime numbers.

 

The program is as follows:

#include<stdio.h>
int main()
{
	int n;
	printf("Enter n value: ");
	scanf("%d", &n);
	int prime[n+1];
	//Loading the array with numbers from 1 to n
	for(int i = 1; i <= n; i++)
	{
		prime[i] = i;
	}
	//Start with least prime number, which is 2.
	//No need to check for numbers greater than square root of n.
	//They will be already marked.
	for(int i = 2; i*i <= n; i++)
	{
		if(prime[i] != -1)
		{
			//Mark all the multiples of i as -1.
			for(int j = 2*i; j <=n ; j += i)
				prime[j] = -1;
		}
	}
	printf("Prime numbers are: \n");
	for(int i=2; i <= n; i++)
	{
		if(prime[i] != -1)
		{
			printf("%d ", i);
		}
	}
}

 

Input and output for the above program is as follows:

Enter n value: 20
Prime numbers are:
2 3 5 7 11 13 17 19

 

How useful was this post?

Click on a star to rate it!


Subscribe to our monthly newsletter. Get notified about latest articles, offers and contests.


We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

1 Comment

You can follow any responses to this entry through the RSS 2.0 feed.

Thanks for this post, it’s very simple and easy code

Leave a Reply

Your email address will not be published. Required fields are marked *

Facebook
Twitter
Pinterest
Youtube
Instagram
Blogarama - Blog Directory