查找数量最大的素数60085147514(项目Euler#3)

我必须找到数量最大的素数600851475143。 答案是6857,但我不断收到486847。代码中的错误是什么?

def f(n):
    factors = []
    for i in range(1, int(math.sqrt(n))+1): #check if it is a factor
        if n%i == 0:
            x = True
            for j in range(1, int(math.sqrt(i))+1): #check if factor is prime
                if i%j == 0:
                    x = False
                x = True
            if x:
                factors.append(i)
    return max(factors)

print(f(600851475143))