Skip to content

Instantly share code, notes, and snippets.

@toanant
Created January 30, 2017 11:25
Show Gist options
  • Save toanant/0c4063f5506a48b71ecf357b8bf46d42 to your computer and use it in GitHub Desktop.
Save toanant/0c4063f5506a48b71ecf357b8bf46d42 to your computer and use it in GitHub Desktop.

Revisions

  1. toanant created this gist Jan 30, 2017.
    33 changes: 33 additions & 0 deletions circular_prime.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    #! /usr/bin/python

    def is_prime(n):
    if (n == 2) or (n == 3):
    return True
    if (n < 2) or (n %2 == 0):
    return False
    if n < 9:
    return True
    if n % 3 == 0:
    return False
    sqrt_n = int(n ** 0.5)
    step = 5
    while step <= sqrt_n:
    if n % step == 0:
    return False
    if n % (step + 2) == 0:
    return False
    step += 6
    return True


    def is_circular_prime(n):
    num = str(n)
    for i in range(len(num)):
    if not is_prime(int(num[i:] + num[:i])):
    return False
    return True

    if __name__ == '__main__':
    num = int(input())
    result = (sum(1 for n in range(2, num) if is_circular_prime(n)))
    print(result)