Wednesday, November 30, 2016

Twin Primes

Lia is fascinated by anything she considers to be a twin. She calls a pairs of positive integers,  and , twins if:
  • They are both prime. A prime number is an integer greater than  that has no positive divisors other than  and itself.
  • Their absolute difference is exactly equal to  (i.e., ).
Given an inclusive interval of integers from  to , can you help Lia find the number of pairs of twins there are in the interval (i.e., )? Note that pairs  and  are considered to be the same pair.
Input Format
Two space-separated integers describing the respective values of  and .
Constraints
Output Format
Print a single integer denoting the number of pairs of twins.
Sample Input 0
3 13
Sample Output 0
3
Explanation 0
There are three pairs of twins: , and .

NOTE: WRITE YOUR CODE IN COMMENTS SECTION

********************
PROGRAM
********************

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int checkPrime(long long int n)
    {
    long long int i;
    for(i=2;i<n;i++)
        if(n%i==0)
            return 0;
    return 1;
}

int main() {

    /* Enter your code here. Read input from STDIN. Print output to STDOUT */    
    long long int m,n,i;
    scanf("%lld%lld",&n,&m);
    long long int c=0;
    if((m-n)<=1000000 && n>=1 && m>=n && n<=1000000000 && m<=1000000000)
        {
    if(n>2)
        {
        if(n%2==0)
            n++;
        for(i=n;i<=m;i=i+2)
            {
            if(checkPrime(i)==1)
                {
               if(checkPrime(i+2)==1)
                    {
                    c++;
                }
            }
        }
    }
    
    else
        {
        n=3;
        for(i=n;i<=m;i=i+2)
            {
            if(checkPrime(i)==1)
                {
               if(checkPrime(i+2)==1)
                    {
                    c++;
                }
            }
        }
    }
    printf("%lld",c);
    }
    else
        printf("0");
    return 0;
}

Contact Geek Placement Preparation

Name

Email *

Message *