On 13/08/13 17:45, #PATHANGI JANARDHANAN JATINSHRAVAN# wrote:

def check(num):
   lis=[20,19,18,17,16,14,13,11]  #because a no. divisible by 20 is
   for i in lis:
     if num%i==0:
       continue
     else:
       return False
       break

   return True

This is a bit convoluted. All you need is

    for i in lis:
      if num%i != 0:
        return False
      return True

def main():
   num=2520  # Because we can start from the no. divisible by 1-10
   while not check(num):
     print(num)
     num+=2    # Because num has to be even

Surely you can increment by 20 since that's the next number that is divisible by 20.

eg if we start at 20 the next number divisible by 20 will be 40, not 22... That should speed up the search considerably!

But my brain is nagging me that there should be a
cleverer mathematical trick too, but I can't remember
what it is... I'm sure one of our math gurus will tell us! :-)

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to