From 1a4d7c805e45d85a0d313f590f0bcd83c1377641 Mon Sep 17 00:00:00 2001 From: rrajath Date: Sun, 4 Aug 2013 15:34:01 -0700 Subject: [PATCH] Reducing number of iterations by half for checking if number is prime. Details of changes: No need to check if a number is divisible by an even number --- Numbers/prime.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Numbers/prime.py b/Numbers/prime.py index 45cbe1390..c58094c5a 100644 --- a/Numbers/prime.py +++ b/Numbers/prime.py @@ -5,7 +5,10 @@ import math def is_a_prime(x): - for i in range(2, x): + if i % 2 == 0: + return True +# No need to check if x is divisible by even numbers + for i in range(3, x, 2): if x % i == 0: return False return True @@ -21,4 +24,6 @@ def is_a_prime(x): if is_a_prime(i): factors.append(i) n /= i - print factors + if n == 1: + break + print list(set(factors))