Consecutive Prime Sum

 Some prime numbers can be expressed as Sum of other consecutive prime numbers.

For example

5 = 2 + 3
17 = 2 + 3 + 5 + 7
41 = 2 + 3 + 5 + 7 + 11 + 13

Your task is to find out how many prime numbers which satisfy this property are present in the range 3 to N subject to a constraint that summation should always start with number 2.

Write code to find out number of prime numbers that satisfy the above mentioned property in a given range.

Input Format:

First line of input contains k - the number of inputs
The next k lines contains a number N.

Output Format:

Print the total number of all such prime numbers which are less than or equal to N.

Example:

Input:

k = 2
N = 20
N = 15

Output:



2 (there are 2 such numbers: 5 and 17)
1




Solution:



def isprime(p):
    if(p==0):
        return 0
    elif(p==1):
        return 0
    else:
        for i in range(2,int(p**.5)+2):
            if(p%i==0):
                return 0
        return 1
k=int(input())
for i in range(k):
    n=int(input())
    c=0
    s=2
    for j in range(3,n):
        if(isprime(j)):
            s=s+j
            if(s<=n):
                if(isprime(s)):
                    c=c+1
                
    print(c)

        
        
        
    
            
    

Comments

Popular posts from this blog

Efficient Janitor

Right Arrow Pattern

X Pattern