def circular_prime(number): if prime(number) == False: return False number = str(number) str_number = str(number) rotated = '' while rotated != number: rotated = str_number[1:] + str_number[0] str_number = rotated if prime(int(rotated)) == False: return False return True
def cons_prime(a, b): x = 0 y = x**2 + a * x + b while prime(y) == True: y = x**2 + a * x + b x += 1 return x - 1
def number_of_prime_factors(n): factors = [] number = 0 for i in xrange(2,int(n**0.5)): if n%i == 0: factors.append(i) factors.append(n/i) for x in factors: if prime(x) == True: number += 1 return number
from _utilities import prime from time import clock start = clock() count = 1 i = 1 while count < 10001: if prime(i) == True: count += 1 i += 2 print i print clock() - start
from _utilities import prime number = 600851475143 list =[] prime_multiple = [] for i in range(3,int(number**0.5),2): if number%i == 0: list.append(i) for y in list: if prime(y) == True and y != 1: prime_multiple.append(y) print prime_multiple[-1]
from time import clock from _utilities import prime def sieve(numbers): i = 0 while i < len(numbers): for x in numbers[i + 1:]: if x % numbers[i] == 0: numbers.remove(x) #print numbers i += 1 if x > numbers[-1]**0.5: return numbers #return sieve(numbers) start1 = clock() numbers = range(2, 1000000) y = sieve(numbers) print clock() - start1 start2 = clock() primes = [i for i in range(2, 100000) if prime(i) == True] #print primes print clock() - start2