Liczba Pierwsza

0
 int CzyPierwsza;
            do
            {
                Console.Write("Podaj liczbę: ");
            }
            while (!int.TryParse(Console.ReadLine(), out CzyPierwsza));
            if (CzyPierwsza == 2 || CzyPierwsza == 1)
            {
                Console.WriteLine("Liczba NIE JEST liczbą pierwszą.");
            }
            else
            {
                for (int p = 2; p < CzyPierwsza; p++)
                {
                    if (CzyPierwsza % p == 0)
                    {
                        Console.WriteLine("Liczba NIE JEST liczbą pierwszą.");
                        break;
                    }
                }
                Console.WriteLine("JEST");
            }

Co zrobić żeby komunikat JEST nie wyświetlał się zawsze?

0

Przenieś to do metody zwracającej bool, wtedy zamiast break; robisz return false;
2 to też liczba pierwsza.

0

Przerzuć to do funkcji i return zamiast break.

2

Nazwy zmiennych zaczynamy małą literą, nie ma sensu aby nazwa zmiennej zawierała słowo czy, jeśli nie jest typu bool.

0

wrzuć

 Console.WriteLine("JEST");

do

   
                for (int p = 2; p < CzyPierwsza; p++)
                {
                    if (CzyPierwsza % p == 0)
                    {
                        Console.WriteLine("Liczba NIE JEST liczbą pierwszą.");
                        break;
                    }
                    Console.WriteLine("JEST");
                }
                    
0

Zamiast

for (int p = 2; p < CzyPierwsza; p++)

daj
double bound = Math.Sqrt(CzyPierwsza);
for (int p = 2; p <= bound; p++)

To nie poprawi wyświetlania, ale znacznie przyspieszy program.

Pierwszy `if` powinien wyglądać tak:
```csharp
            if (CzyPierwsza <= 1)
            {
                Console.WriteLine("Liczba NIE JEST liczbą pierwszą.");
            }

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