Consecutive Prime Sum


Some prime numbers can be expressed as a 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 the number of prime numbers that satisfy the above-mentioned property in a given range.

Input : 20
Output :2
Explanation:
Below 20 there are two prime numbers 5 and 17.
5=2+3
17=2+3+5+7
Input Format: First line contains a number N
Output Format: Print the total number of all such prime numbers which are less than or equal to N.


Program

n=int(input())

a=[]
sum=0
count=0
if n>1:
    for i in range(3,n+2):
        for j in range(2,i):
            if i%j==0:
                break
        else:
            a.append(i)

def isPrime(sum):
    for i in range(2,(sum//2)+2):
        if sum%i==0:
            return False
        else:
            return True

for i in range(0,len(a)):
    sum=sum+a[i]
    if sum<=n:
        if isPrime(sum):
            count=count+1
print(count)




No comments:

Post a Comment