Zakres pętli for

0

for(int i=2;i*i<=n;i++)
        if(n%i==0)

Jak dobrze rozumiem to można zapisać również w ten sposób ?


for(int i=2;4<=n;i++)
1

Po co pytasz – skompiluj i sprawdź.

3
for(int i=2;4<=n;i++)

W tym przypadku pętla jest nieskończona jeśli n jest równe lub większe od 4. Jeśli n jest mniejsze od 4 to pętla nie wykona się w ogóle.

1

Autor chyba nie o to pyta, tylko ciekawi go, czy jako warunek kontynuacji pętli for można dać bardziej złożone wyrażenie. Odpowiedź brzmi - można

for (int i=2; i * i <= n && n % i == 0; i++)
3

Po raz kolejny przypominam wszystkim, że my nie jesteśmy tutaj od zgadywania co autor ma na myśli. Zakładając wątek OP jest zobowiązany do rzeczowego opisania problemu i zadania konkretnych, precyzyjnych pytań. Jeśli tego nie zrobi, to wszyscy będą tracić czas na zgadywanki bądź dopytywanie o szczegóły, a sam pytający będzie musiał dłużej czekać na odpowiedź rozwiązującą problem.

1
for (A; B; C)
    D;

to to samo co

{
    A;
    while (B)
    {
        {
            D;
        }
        C;
    }
}

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