def combinatorial_form(n): return(find_combos(prime_factor_it(n)))
#acc.append(n/factor_start) count += 2 factor_start += 1 #return sorted(set(acc)) return count def coprimes(n,cache=None): nth_triangle = triangle_closed_form(n) count_n = combinatorial_form(n) count_n_p_1 = combinatorial_form(n+1) return nth_triangle, count_n + count_n_p_1 - 1 if __name__ == "__main__": import sys sys.setrecursionlimit(200000) print "{0} has {1} factors, {2} has {3} factors".format(72, find_combos(prime_factor_it(72)), 73, find_combos(prime_factor_it(73))) print "{0}*{1} has {2} factors".format(72,73, find_combos(prime_factor_it(72) + prime_factor_it(73))) print "{0} has {1} factors".format(triangle_closed_form(72),combinatorial_form(triangle_closed_form(72))) print prime_factor_it(76576500) print combinatorial_form(76576500) cache = {} for x in range(0,100): #triangle, factors = coprimes(x) if x == 72: pass #print "{0}th triangle number = {1}, with factor count {2}".format(x, triangle, factors) import pprint #pprint.pprint(cache)