for ni moja ya aina ya loops(kujirudia) katika programming.
for (i = 2; i<n/2; i++)
i=2 ni nitialization ya i, hii inafanyika mara moja wakati loop inaanza.
i<n/2 hii ndo exit condition, loop itaendelea kujiturudia mpaka hii condition iwe FALSE.
i++, kila loop inapojiruduia i inaongezeka kwa moja.
Hiyo ndo loop na kila kitu ndani yake ni kinajirudia tu.
if (n % i == 0) Inacheki kama salio la kugawanya namba n kwa i ni sifuri, salio likiwa sifuri maana yake namba inagawanyika namba inayogawanyika kwa namba nyingine sio prime program inaprint not prime na ku exit. Kwa hiyo loop inajaribu kuigawanya namba kwa kila namba iliyo ndogo kuliko nusui<n/2 ya namba n
Kwa maoni yangu hiyo loop haijaandikwa vizuri, haiusomeki vizuri, ningeiweka hivi
Code:
int main() {
int n, i;
scanf("%d", &n);
for (i = 2; i<n/2; i++)
{
if (n % i == 0)
{
printf("Not prime");
return 0;
}
}
printf("Prime");
return 0;
}
Kwa kutumia curly brackets ipasavyo unaweza kuona mara moja code gani ipo ndani ya for loop.