示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
0
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
示例#5
0
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]
示例#6
0
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