My issue
time limit execded
My code
def count_factors(n, factor_dict):
if n not in factor_dict:
count = 0
for i in range(1, int(n**0.5) + 1):
if n % i == 0:
count += 1
if i != n // i:
count += 1
factor_dict[n] = count
return factor_dict[n]
def main():
t = int(input())
factor_dict = {}
for _ in range(t):
x = int(input())
max_factor_count = 1
for i in range(2, int(x**0.5) + 1):
if x % i == 0:
factor_count_1 = count_factors(i, factor_dict)
factor_count_2 = count_factors(x // i, factor_dict)
max_factor_count = max(max_factor_count, factor_count_1, factor_count_2)
if max_factor_count == 1:
print(x)
else:
print(max_factor_count)
if __name__ == "__main__":
main()
Learning course: 2000 to 2500 difficulty problems
Problem Link: Maximum Factors Problem Practice Problem in 2000 to 2500 difficulty problems - CodeChef