day1/exercise/aliquot.py
changeset 94 8c92864c184b
parent 64 333092b68926
child 354 5dc6c3673f9d
--- a/day1/exercise/aliquot.py	Fri Oct 09 22:57:00 2009 +0530
+++ b/day1/exercise/aliquot.py	Sun Oct 11 16:51:43 2009 +0530
@@ -1,8 +1,19 @@
+def is_perfect_square(n):
+    i = 1
+    while i * i < n:
+        i += 1
+    return i * i == n, i
+
 def aliquot(n):
-    sum = 0
-    for i in range(1, (n/2)+1):
+    sum = 1
+    i = 2
+
+    is_ps, root = is_perfect_square(n)
+    while i < root:
         if n % i == 0:
-            sum += i
+            sum += i + (n / i)
+        i += 1
     return sum
 
-print aliquot(14)
+n = int(raw_input('Enter a number? '))
+print aliquot(n)