aboutsummaryrefslogtreecommitdiffstats
path: root/bigfactors2.py
diff options
context:
space:
mode:
Diffstat (limited to 'bigfactors2.py')
-rw-r--r--bigfactors2.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/bigfactors2.py b/bigfactors2.py
new file mode 100644
index 0000000..5758019
--- /dev/null
+++ b/bigfactors2.py
@@ -0,0 +1,31 @@
+import PIL, math
+import numpy as np
+
+#Problem 12 Highly divisible triangular number
+#finds the first number with over 500 factors
+
+def countfactors(num):
+ factors = 0
+ ### we only need to know about the FIRST HALF of factors,
+ ##one factor implies a second
+ root = int(math.ceil(math.sqrt(num)))
+ divs = range(1, root)
+ for d in divs:
+ if(num%d == 0):
+ factors += 2
+
+ #Correction if the number is a perfect square
+ if (root * root == num):
+ factors-=1
+ return factors
+
+
+#### MAIN #####
+i=1
+k=1
+j = 0
+while(k < 500):
+ j += i
+ k=countfactors(j)
+ print str(j) + " has " + str(k) + " factors"
+ i += 1