Šiame pavyzdyje išmoksite patikrinti, ar vartotojo įvestas sveikasis skaičius yra pirminis skaičius, ar ne.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:
- C jei … dar pareiškimas
- C kilpai
- C pertrauka ir toliau
Pirminis skaičius yra teigiamas sveikasis skaičius, kuris dalijasi tik 1
pats iš savęs. Pvz .: 2, 3, 5, 7, 11, 13, 17
Programa tikrinti pirminį skaičių
#include int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for non-prime if (n % i == 0) ( flag = 1; break; ) ) if (n == 1) ( printf("1 is neither prime nor composite."); ) else ( if (flag == 0) printf("%d is a prime number.", n); else printf("%d is not a prime number.", n); ) return 0; )
Rezultatas
Įveskite teigiamą skaičių: 29 29 yra pagrindinis skaičius.
Programoje „for for loop“ kartojamas nuo i = 2
iki i < n/2
.
Kiekvienoje iteracijoje patikrinama, ar n yra visiškai padalijamas iš i, naudojant:
if (n % i == 0) ( )
Jei n yra visiškai padalijamas iš i, n nėra pirminis skaičius. Tokiu atveju vėliava nustatoma į 1, o ciklas nutraukiamas naudojant break
teiginį.
Po ciklo, jei n yra pagrindinis skaičius, vėliava vis tiek bus 0. Tačiau, jei n yra ne pirminis skaičius, vėliava bus 1.
Apsilankykite šiame puslapyje ir sužinokite, kaip galite spausdinti visus pirminius skaičius tarp dviejų intervalų.