Cześć, potrzebuje łopatologicznego wytłumaczenia poniższego programu, a konkretnie tego co dzieje się w pętli for. Nie rozumiem dlaczego pętla wykonuje się akurat do spełnienia warunku ii oraz na jakiej zasadzie działa sprawdzanie czy liczba jest pierwsza. No bo załozmy ze wpisalem do sprawdzenia 7 wiec petla for sprawdza czy 7 dzieli sie bez reszty przez 2 a po tym petla sie konczy bo ii=9 jest wieksze niz 7. Z tego wiemy ze nasza liczba n nie jest podzielna bez reszty przez 2 ale skad wiemy ze jest liczba pierwsza?
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
while (scanf_s("%d", &n))
{
if (n == 1) break;
bool pierwsza = true;
for (int i = 2; i * i <= n; i++)
if (n % i == 0) pierwsza = false;
if (pierwsza) printf("Tak\n");
else printf("Nie\n");
}
return 0;
}