Project Euler #35: Circular primes

  • + 0 comments

    def isprime(n):

    if n < 2 :
    
        return(False)
    
    if n == 2 :
    
        return(True)
    
    if n % 2 == 0 :
    
        return(False)
    
    for i in range(3, int(n**0.5)+1 , 2):
    
        if n % i == 0 :
    
            return(False)
    
    return(True)
    

    def iscircular (n) :

    ch=str(n)
    
    l=[]
    
    for i in range(len(ch)) :
    
        rotated_str = ch[i:] + ch[:i]
    
        l.append(int(rotated_str))
    
    for e in l :
    
        if not isprime(e) :
    
            return(False)
    
    return(True)
    

    n=int(input())

    d={10:17}

    s=17

    for i in range(11,10**6 +1):

    d[i]=s
    
    if iscircular (i) :
    
        s+=i
    

    print(d[n])