aboutsummaryrefslogtreecommitdiffstats
path: root/bigfactors2.py.orig
blob: 41bc13d1ff68d93974adc9df08d1e4565088acbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import PIL, math

#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

print("Ding! Ding! {} has over 500 factors, wow!".format(j))