Help me in solving MXFACS problem

My issue

giving run time error in task #2

My code

def inp():
    return(int(input()))
def inlt():
    return(list(map(int,input().split())))
def insr():
    s = input()
    return(list(s[:len(s) - 1]))
def invr():
    return(map(int,input().split()))
from collections import defaultdict
# print("Hello")
t = inp()
N = 10**5+10
sieve = [0]*N
for i in range(2,N):
    if sieve[i] == 1: continue
    for j in range(i*i,N,i):
        sieve[j] = 1
primenums = []
for i in range(2,N):
    if not sieve[i]:
        primenums.append(i)
while t>0:
    t-=1
    def solve():
        n = inp()
        dic = defaultdict(int)
        for prime in primenums:
            if n%prime == 0:
                temp = n
                while temp%prime == 0:
                    temp //= prime
                    dic[prime]+=1
        maxval = max(list(dic.values()))
        ans = n
        for k,v in dic.items():
            if v == maxval:
                ans = k 
                break
        print(ans)
    solve()
        
        

Learning course: 2000 to 2500 difficulty problems
Problem Link: Maximum Factors Problem Practice Problem in - CodeChef

if n>N and n is prime number you will not include that in dic
Solution: 1044393218 (codechef.com)

1 Like