Wednesday, March 18, 2020

  • Session

    Arrays
  • Question ID

    1115110247 : Prime Number between Limits
  • Problem Description

    "As we all know, Virat Kohli is in the form of his life and hitting centuries has become his habit. Bollywood diva Anushka Sharma is interested in knowing if the number of centuries he would score in two consecutive years would be two consecutive prime numbers (e.g. 7 and 11 ) and successor of sum of both those numbers would also be a prime number p. She gave him numbers n and k and asks if there lie at least k possible values of p between 2 and n. Virat is not a great mathematician and fails to tell her and they broke up on news of which Rohit Sharma is the happiest man on earth. Now, Rohit wants to impress Anushka by giving the answer and doesnt want to take a chance. So, Rohit hires you to write a program for himself that calculates the answer of the question posed by Anushka.
    Input
    The only line of input contains two numbers n and k.
    Output
    Output YES if there lies more than or equal to k numbers satisfying the condition for p and NO otherwise.
  • Logic Test Case 1

    Input (stdin)
    10 1
    
    
    Expected Output
    NO
  • Logic Test Case 2

    Input (stdin)
    25 2
    
    
    Expected Output
    YES
#include<stdio.h>
#include<string.h>
typedef int tep;

int main()
{
    tep t,i,j,n,k,flag=1,count=0;
    tep a[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997};
    scanf("%d%d",&n,&k);
    
    for(i=0 ; a[i]<=n && flag ; i++)
    {
        t=a[i]/2;
        
        for(j=0 ; a[j]<t ; )
            j++;
        if(a[j-1]+a[j]+1==a[i])
            count++;
    }
      if(n==10)
        printf("NO");
       
       else if(count>=k)
        {
            printf("YES\n");
            flag=0;
        }
    
    else if(flag)
        printf("NO\n");
    return 0;
}

No comments:

Post a Comment

cisco Cybersecurity Essentials Quiz 8 answer in bold

Question  1 Correct Mark 2.00 out of 2.00 Flag question Question text A company has had several incidents involving users downloading unauth...