def problem12(): """ Highly divisible triangular number What is the value of the first triangle number to have over five hundred divisors? """ for triangle_number in mathhelper.triangle_list(None): if mathhelper.factor_count(triangle_number) > 500: return triangle_number
def test_factor_count(self): self.assertEqual(mathhelper.factor_count(-5), 2) self.assertEqual(mathhelper.factor_count(-4), 3) self.assertEqual(mathhelper.factor_count(-3), 2) self.assertEqual(mathhelper.factor_count(-2), 2) self.assertEqual(mathhelper.factor_count(-1), 1) self.assertEqual(mathhelper.factor_count(0), 0) self.assertEqual(mathhelper.factor_count(1), 1) self.assertEqual(mathhelper.factor_count(2), 2) self.assertEqual(mathhelper.factor_count(4), 3) self.assertEqual(mathhelper.factor_count(5), 2) self.assertEqual(mathhelper.factor_count(6), 4) self.assertEqual(mathhelper.factor_count(21), 4) self.assertEqual(mathhelper.factor_count(28), 6) self.assertEqual(mathhelper.factor_count(-5, True), 1) self.assertEqual(mathhelper.factor_count(-4, True), 2) self.assertEqual(mathhelper.factor_count(-3, True), 1) self.assertEqual(mathhelper.factor_count(-2, True), 1) self.assertEqual(mathhelper.factor_count(-1, True), 0) self.assertEqual(mathhelper.factor_count(0, True), 0) self.assertEqual(mathhelper.factor_count(1, True), 0) self.assertEqual(mathhelper.factor_count(2, True), 1) self.assertEqual(mathhelper.factor_count(4, True), 2) self.assertEqual(mathhelper.factor_count(5, True), 1) self.assertEqual(mathhelper.factor_count(6, True), 3) self.assertEqual(mathhelper.factor_count(21, True), 3) self.assertEqual(mathhelper.factor_count(28, True), 5)