Witam mam następujący problemik
Dlaczego skompilowany program działa prawidłowo, a według mojego rozumowania nie powinien. Program ma wyświetlać liczby pierwsze z przedziału od 2 do n. Moje pytanie brzmi dlaczego program nie wyświetla liczby 4 (wiem że nie jest to liczba pierwsza).
Jeżeli w pierwszej pęntli zostanie wygenerowanie 4 i w drugiej 4 to zgodnie z if (i == j) //* jeżeli liczba i jest równa j to jest to liczba pierwsza,* 4 powinna zostać wyświetlona jako liczba pierwsza, a mimo to program nie wyświetla, dlaczego?<
{
int n, i, j; //// deklaracja zmiennych//
char koniec;
do
{
cout <<" Podaj liczbe ktora chcesz sprawdzic : ";
cin >> n;
for (i = 2; i <= n; i++) //// pętla generujšca liczby do sprawdzenia od i = 2 do n//
{
for (j = 2; j <= i; j++) //// pętla generujšca dzielniki w zakresie od j = 2 do i//
{
if (i != j && i % j == 0) //// warunek sprawdzajšcy czy liczba i jest różna od j oraz czy dzieli się na j//
break; //// jeżeli warunek jest spełniony następuje zakonczenie pętli//
if (i == j) //// jeżeli liczba i jest równa j to jest to liczba pierwsza//
cout << i <<" , ";
}
}