Ejemplo n.º 1
0
def buildPrimeList():
    count=1
    num=3
    while True:
        while not isPrime(num):
            num+=2
        count+=1
        primeList.append(num)
        num+=2
        if count==2000:
            break
Ejemplo n.º 2
0
def test():
    sum=2
    print '2,'
    num=3
    while num<2000000:
        if not isPrime(num):
            num+=2
            continue
        #print num
        sum+=num
        num+=2
    print 'sum=',sum
Ejemplo n.º 3
0
def getPrimeFactors(num):
	'''
	return the prime factors for a number. e.g: 
		input 10
		output: dict = { 2: 1, 5: 1}
	'''
	factors = {}
	prime = 2
	while num>1:
		while num % prime ==0:
			if prime in factors: 
				factors[prime] = factors[prime]+1
			else:
				factors[prime] = 1
			num = num / prime
		prime += 1
		while isPrime(prime) == False:
			prime +=1
		if prime > num:
			break; 
	#print factors
	return factors
Ejemplo n.º 4
0
#!/usr/bin/python
# Filename: Euler7.py

#By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
#What is the 10001st prime number?


from myUtil import isPrime

count=1
num=3
print count,'2'
while True:
    while not isPrime(num):
        num+=2
    count+=1
    print count,num
    num+=2
    if count==10001:
        break
Ejemplo n.º 5
0
    #print 'b=',b
    while b>1:
        if a%b ==0:
            return False
        b-=2
    return True
'''

num = 600851475143
max_p_factor = 3
a=max_p_factor+2

# to find the next prime factor
while True:
    #to find the next bigger prime number
    while not isPrime(a):
        if a>=num:
            break # found result: max_p_factor
        else:
            a+=2
    if a>=num:
        break # found result: max_p_factor
    elif num%a==0:
        max_p_factor=a
        num = num/a # a bug: need to loop here! 
        if a>=num:
            break
        print 'found one prime factor=',a
    else:
        print 'prime, but not factor', a
        a+=2