To understand better please read the following post first, it will clear your concept of prime number What is prime number and Why 1 is not a prime number?
#include<stdio.h> int main(){ int n, i,check; printf("Enter a positive number\n"); scanf("%d",&n); for(i=2;i<=n/2;i++){ if(n%i==0) { check = 1; break; } } if(check==1) printf("\n%d is not a prime number\n",n); else printf("\n%d is a prime number\n",n); return 0; }
Logic: The above program takes an integer n to check whether it is prime and use two control variables i & check Since every number is divisible by 1 so we started from i = 2. And i will be up to n/2. Why n/2 and why not n Because if we divide n, by any number between n/2 and n it will give us a remainder. For example if we divide 12 by 7(12÷2 < 7) it will remain 5, in case of 9 it will remain 3. That makes if(n%i==0) false every time. So if we take n it just increase time complexity.
Then we divide n with 2 to n/2 if it divide without any remainder, we set check = 1 And show it as not a prime.
Another one
#include<stdio.h> int main(){ int min, max, i,count; printf("Enter the first end point\n"); scanf("%d",&min); printf("Enter the second end point\n"); scanf("%d",&max); printf("\n\n"); for(i=min;i<=max;i++){ for(count=2;count<=i;count++){ if(i%count==0) break; } if(count==i) printf("%d\n",count); } return 0; }
Here we also use the same logic to find out the prime number from an interval.