Kilka rzeczy
1 - W funkcji czy pierwsza jest błąd, sprawdzasz czy N jest podzielne przez i, jak tak to spoko, że zwracasz false, ale dlaczego jak nie jest to zwraczasz false?
2 - Nawet jak poprawisz tą funkcję czy pierwsza, to i tak moim zdaniem może nie przejść czasowo. To zadanie to chyba chodzi o zaimplementowanie sita Eratostenesa i w O(1) odpowiadanie czy jest pierwsza.