aboutsummaryrefslogtreecommitdiffstats
path: root/bigfactors2.py
diff options
context:
space:
mode:
Diffstat (limited to 'bigfactors2.py')
-rw-r--r--bigfactors2.py46
1 files changed, 24 insertions, 22 deletions
diff --git a/bigfactors2.py b/bigfactors2.py
index 41bc13d..9e51502 100644
--- a/bigfactors2.py
+++ b/bigfactors2.py
@@ -1,32 +1,34 @@
-import PIL, math
+import PIL
+import math
+
+# Problem 12 Highly divisible triangular number
+# finds the first number with over 500 factors
-#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
+ 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
+i = 1
+k = 1
j = 0
while(k < 500):
- j += i
- k=countfactors(j)
- print(str(j) + " has " + str(k) + " factors")
- i += 1
+ j += i
+ k = countfactors(j)
+ print(str(j) + " has " + str(k) + " factors")
+ i += 1
print("Ding! Ding! {} has over 500 factors, wow!".format(j))