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
Suryateja Pericherla, at present is a Research Scholar (full-time Ph.D.) in the Dept. of Computer Science & Systems Engineering at Andhra University, Visakhapatnam. Previously worked as an Associate Professor in the Dept. of CSE at Vishnu Institute of Technology, India.
He has 11+ years of teaching experience and is an individual researcher whose research interests are Cloud Computing, Internet of Things, Computer Security, Network Security and Blockchain.
He is a member of professional societies like IEEE, ACM, CSI and ISCA. He published several research papers which are indexed by SCIE, WoS, Scopus, Springer and others.
Thanks for this post, it’s very simple and easy code