[Tutor] Generate Prime Numbers

Mirage Web Studio cmgcomsol at gmail.com
Fri May 29 17:28:16 CEST 2015


Hello,

Below is a sample code i created.

Can i better it any way?

Thanks

George

-----------------------------------------------------------

import time
start_time = time.time()


def IsDivisibleBy3(number):#string variable
     v=0
     for c in number:
         v=v+int(c)
     if v%3==0:
         return True
     else:
         return False

def IsDivisibleBy7(number):#string variable
     last=int(number[-1])*2
     length=len(number)-1
     tnumber=number[0:length]
     tnumber=int(tnumber)-last
     if tnumber%7==0:
         return True
     else:
         return False


def IsDivisibleBy9(number):#string variable
     v=0
     for c in number:
         v=v+int(c)
     if v%9==0:
         return True
     else:
         return False

def IsPrime(number):
     l=len(number)
     if number[l-1] in ['2','4','5','6','8','0']:
         #print("retuning base false")
         return False

     if IsDivisibleBy3(number):
          #print("retuning 3 check false")
           return False

     if IsDivisibleBy7(number):
           #print("retuning 7 check false")
           return False

     if IsDivisibleBy9(number):
           #print("retuning 9 check false")
           return False

     number=int(number)
     half=(number/2)+1
     i=7
     while half>=i:
         if number%i==0:
             return False
         i=i+1
     return True


primelist=[]

for i in range (11,200000,2):
     number=str(i)
     print "checking ",i

     if IsPrime(number):
         primelist.append(number)

print ("primes",len(primelist),primelist)


print("--- %s seconds ---" % (time.time() - start_time))

---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com



More information about the Tutor mailing list