Liczby pierwsze zadanie spoj

0

Witam, robię zadania na spoju "Łatwe" i jestem na etapie programu liczby pierwsze. Test mi nie przechodzi ze względu na długi czas działania.
Jak mogę to usprawnić?
https://ideone.com/Pd5MuZ

using System;


namespace LiczbyPierwsze
{

    class Program
    {
        static void Main(string[] args)
        {

            string numberOfTestRL = Console.ReadLine();
            int numberOfTest = Convert.ToInt32(numberOfTestRL);
            
            
            if(numberOfTest >= 1 && numberOfTest <= 100000)
            {
                int counter = 0;
                bool running = true;
                while (running == true)
                {
                    string numberRL = Console.ReadLine();
                    int number = Convert.ToInt32(numberRL);
                    
                    if (numberOfTest >= 1 && numberOfTest <= 10000)
                    {
                        int devide = 0;
                        double checker = 0.0;
                        for (int i = 1; i <= number; i++)
                        {
                            checker = number % i;
                            if (checker == 0.0)
                            {
                                devide++;
                                if(devide>2)
                                {
                                    break;
                                }
                            }
                        }
                        if (devide == 2)
                        {
                            Console.WriteLine("Tak");
                        }
                        else
                        {
                            Console.WriteLine("Nie");
                        }
                        counter++;
                        if (counter == numberOfTest)
                        {
                            running = false;
                        }
                    }
                }
            }
        }
    }
    
}

0

Jak to usprawnić? np:

https://pl.wikipedia.org/wiki/Test_pierwszo%C5%9Bci#Metoda_naiwna

for (int i = 1; i <= number; i++)
{
	checker = number % i;
	if (checker == 0.0)
	{
		devide++;
		if(devide>2)
		{
			break;
		}
	}
}
0

Jakiś jest temat zadania?

0

https://en.m.wikipedia.org/wiki/Primality_test
Zobacz jak usprawnic trial division I Moze lyknie:)

0

Dzięki za odpowiedzi ;)

0
if(number%2==0) devide=0;
else {
for (int i = 1; i <= number; i+=2)
{
    checker = number % i;
    if (checker == 0.0)
    {
        devide++;
        if(devide>2)
        {
            break;
        }
    }
}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1