def main2(): s = 0 n = 953 i = 0 m = 0 primes = sieve(47618) for i in range(len(primes)): s += primes[i] if s > 999999: break if isprime(s): print(s) n = s m = i + 1 else: for j in range(i): if i + 1 - j < m: break s -= primes[j] if isprime(s): n = s m = i - j break return n
def max_consecutive(primes): for i in reversed(range(len(primes))): for j in reversed(range(len(primes)-i+1)): total=sum(primes[j:j+i]) if isprime(total) and total<1000000: return total, j, i return False
def max_consecutive(primes): for i in reversed(range(len(primes))): for j in reversed(range(len(primes) - i + 1)): total = sum(primes[j:j + i]) if isprime(total) and total < 1000000: return total, j, i return False
def goldbach2(i, lesser_primes): if isprime(i): return True else: for j in lesser_primes: base = sqrt((i - j) / 2) if base == int(base): return True return False
def goldbach2(i,lesser_primes): if isprime(i): return True else: for j in lesser_primes: base=sqrt((i-j)/2) if base==int(base): return True return False
def euler35(): ans = [] primeset = [i for i in range(2,1000000) if pr.isprime(i)] for i in primeset: if i not in ans: prime = str(i) circprimes = set() iscirc = True for j in range(0, len(prime)): circprime = int(prime[j:] + prime[:j]) circprimes.add(circprime) if not pr.isprime(circprime): iscirc = False break if iscirc: ans.extend(circprimes) print ans print len(ans)
def euler37(): ans = [] starting = 10 while len(ans) < 11: primes = [i for i in range(starting, starting+10000) if pr.isprime(i)] starting += 10000 for prime in primes: primestr = (str(prime), str(prime)) trunc = True while len(primestr[0]) > 1: primestr = (primestr[0][1:], primestr[1][:len(primestr[1])-1]) if not (pr.isprime(int(primestr[0])) and pr.isprime(int(primestr[1]))): trunc = False break if trunc: ans.append(prime) print ans print sum(ans)
def main(): l = [] n = '11' while True: if n[0] in '2357' and n[-1] in '357' and '0' not in n and isprime( int(n)): if len(n) == 2: l.append(int(n)) else: for i in range(2, len(n)): if not isprime(int(n[:i])) or not isprime(int(n[-i:])): break else: l.append(int(n)) if len(l) == 11: break n = str(int(n) + 2) return sum(l)
def testprime(n, primeset, compset): if n in primeset: return True elif n in compset: return False elif ip.isprime(n): primeset.add(n) return True else: compset.add(n) return False
def euler72(): bound = 11+1 ans = 0 tot = dict() tot[4] = 2 primes = [i for i in range(bound) if ip.isprime(i)] for prime in primes: tot[prime] = prime-1 for i in range(2, bound): ans += totient(i, tot) print ans return tot
def largestPrimes(num): import sys sys.path.append( 'D:\\Users\\Jesus Chua\\Documents\\GitHub\\ProjectEuler\\CommonLibrary' ) from isprime import isprime largestPrimes = [] for i in range(num, 1, -1): if isprime(i): largestPrimes.append(i) if len(largestPrimes) >= 10: return largestPrimes return largestPrimes
def euler51(): ansdict = dict() found = False winner = '' for candidate in xrange(10001, 100000000, 2): if ip.isprime(candidate): digits = str(candidate) for digit in set(digits): pattern = digits.replace(digit, '*') if pattern not in ansdict: ansdict[pattern] = [0,[]] for otherdigit in range(10): newcandidate = int(pattern.replace('*', str(otherdigit))) if ip.isprime(newcandidate) and len(str(newcandidate)) == len(str(candidate)): ansdict[pattern][0] += 1 ansdict[pattern][1].append(int(newcandidate)) if ansdict[pattern][0] == 8: winner = pattern found = True if found == True: break print ansdict[winner][1] print min(ansdict[winner][1])
def main1(): #47619 = 1.000.000 / 21 n = 953 m = 21 primes = sieve(47618) for j in range(m, 600, 2): for i in range(len(primes)): p = sum(primes[i:i + 1 + j]) if isprime(p) and p < 1000000: print(p) print(primes[i:i + 1 + j]) #m += 2 n = p if i + m > len(primes) or p > 999999: break print(j) return n
def main(limit): n = 0 primes = sieve(limit) for p in primes: i = 0 p = str(p) p2 = p while isprime(int(p2), primes=primes): i += 1 if p2 == p[-1] + p[0:-1]: break p2 = p2[1:] + p2[0] if i == len(p): n += 1 if limit > 10: n += 1 #because 11 is an exception return n
def main(alimit, blimit): """ If limit = 100, then |a| < 100 """ longest_seq = (0,0,0) #length, a, b primes = sieve(1000) if alimit % 2 == 0: v = 1 for a in range(-alimit+v, alimit, 2): for b in primes: n = 0 while isprime(n**2 + a*n + b): n += 1 if n > longest_seq[0]: longest_seq = (n, a, b) return longest_seq
def primedivs(n): count = 0 for i in range(1, n + 1): if isprime(i) == 1: if n % i == 0: print i
from isprime import isprime total = 0 for i in range(2, 2 * 10**6): if isprime(i): total += i print(total)
from isprime import isprime from itertools import permutations digits=''.join(map(str, range(1,10))) primes=[] for i in reversed(range(1,10)): for nums in permutations(digits[:i], i): nums=''.join(nums) if isprime(int(nums)): primes.append(int(nums)) if primes: break print max(primes)
from isprime import isprime for i in range (1, 99): print (i, isprime(i))
import isprime print(isprime.isprime(0)) print(isprime.isprime(2)) print(isprime.isprime(3)) print(isprime.isprime(4)) print(isprime.isprime(91)) print(isprime.isprime(97))
def testNumber(a,n): if isprime(n): return True res = modexp(a, n-1, n) return res != 1
from isprime import isprime from math import sqrt primes=[] def goldbach2(i,lesser_primes): if isprime(i): return True else: for j in lesser_primes: base=sqrt((i-j)/2) if base==int(base): return True return False flag=True i=1 while flag: i+=1 if isprime(i): primes.append(i) flag=True else: flag=goldbach2(i, primes) print i
def circular_prime(i): for idx in range(len(str(i))): if not isprime(rotation(i,idx)): return False return True
from isprime import isprime from lottery import lottery print(isprime(91)) print(isprime(97)) lottery_numbers = lottery() for number in lottery_numbers: print(number) print(isprime(number))
from isprime import isprime n = input('enter a number ') isprime(n)
from isprime import isprime for n in range(2,20): print(n, ' is ', isprime(n))
import isprime print(isprime.isprime(7)) print(isprime.isprime(8)) print(isprime.isprime(91)) print(isprime.isprime(97)) z = int(input("enter any integer: ")) res = isprime.isprime(z) if res == True: print(str(z) + " is prime") else: print(str(z) + " is not prime") print(res)
def main(): for n in permutations('7654321', 7): if isprime(int(''.join(n))): return ''.join(n)
def primedivs(n): count=0 for i in range(1,n+1): if(isprime(i)==1): if(n%i==0): print i
from isprime import isprime best=(0,0) nmax=0 for a in range(-999,1000): for b in range(-999,1000): n=0 while isprime(n**2+a*n+b): n+=1 if n > nmax: nmax=n best=(a,b) print 'new n is', n print 'new pair is', best print 'best n is', nmax print 'best pair is', best print 'best product is', best[0]*best[1]
def iscatprime(a,b): return ip.isprime(int(str(a) + str(b))) and ip.isprime(int(str(b) + str(a)))
from isprime import isprime n=input('enter a number ') isprime(n)