C-språk - Kontrollerer om et heltall er et hovednummer

Et program i C-språk kan brukes til å sjekke om et heltall er et primærtall . Enkelte kunnskaper om programmeringskonsepter og språk som C kreves for å skrive en programkode i C. Grunnleggende begreper som looping, inkludert for looper, mens looper, om andre sløyfer, funksjoner, etc., er nødvendige for å skrive programmer. Et program for å sjekke om et heltall er et primaltall i C, kan skrives ved å bruke nestede løkker . Nestet for sløyfer inneholder en for sløyfe inne i en annen. Noen kunnskaper om C-funksjoner som scanf og printf vil også vise seg å være nyttige når du programmerer i C.

[C-språk] Kontrollerer om et heltall er et hovednummer

  • Definisjon av et hovednummer
    • Algoritme 1: divisors mellom 2 og N-1 vil bli testet
    • Algoritme 2: Selv divisors vil ikke bli testet, forskning er begrenset til ulike divisors
    • Algoritme 3: Alle merkelige divisorer opp til kvadratroten av N vil bli testet
    • Algoritme 4: Stopp programmet når en divider er funnet

Definisjon av et hovednummer

Et primallummer er et heltall, som kun er delt med 1 og seg selv.

Algoritme 1: divisors mellom 2 og N-1 vil bli testet

/ **************************

  • prime_number1.c * / / * algoritme: test alle delene * / #include int main (void) {int jeg, nb, telle, test; test = telle = 0; printf ("skriv inn heltall:"); hvis (scanf ("% d", & nb)! = 1) return -1; for (i = 2; i <nb; i ++, teller ++) hvis (nb% i = = 0) test = 1; hvis (! test) printf ("% d prime nummer, antall iterasjoner =% dn", nb, telle); ellers printf ("% d er ikke et primaltall, antall iterasjoner =% dn", nb, telle); returner 0; }

Algoritme 2: Selv divisors vil ikke bli testet, forskning er begrenset til ulike divisors

/ **************************

  • prime_number2.c * / / * algoritme: utelukke like tall og * test alle delene * / #include int main (void) {int i, nb, telle, test; test = telle = 0; printf ("skriv inn heltall:"); hvis (scanf ("% d", & nb)! = 1) return -1; hvis (nb% 2 == 0) test = 1; ellers {for (i = 3; i <nb; i + = 2, teller ++) hvis (nb% i = = 0) test = 1; } hvis (! test) printf ("% d prime nummer, antall iterasjoner =% dn", nb, telle); ellers printf ("% d er ikke et primaltall, antall iterasjoner =% dn", nb, telle); returner 0; }

Algoritme 3: Alle merkelige divisorer opp til kvadratroten av N vil bli testet

/ **************************

  • prime_number3.c * / / * algoritme: ekskluder alle jevne tall og * test alle delene opp til kvadratroten * / #include #include int main (void) {int jeg, nb, telle, teste, grense; test = telle = 0; printf ("skriv inn heltall:"); hvis (scanf ("% d", & nb)! = 1) return -1; grense = sqrt (nb) + 1; hvis (nb% 2 == 0) test = 1; ellers {for (i = 3; i <grense; i + = 2, telle ++) hvis (nb% i = = 0) test = 1; } hvis (! test) printf ("% d prime nummer, antall iterasjoner =% dn", nb, telle); ellers printf ("% d ikke et primaltall, antall iterasjoner =% dn", nb, telle); returner 0; }

Algoritme 4: Stopp programmet når en divider er funnet

/ **************************

  • prime_number4.c * / / * algoritme: ekskluder alle jevne tall og * test alle deltakerne opp til kvadratroten * exit loop når første divider er funnet * / #include #include int main (void) {int jeg, nb, telle, test, grense; test = telle = 0; printf ("Skriv inn heltall:"); hvis (scanf ("% d", & nb)! = 1) return -1; grense = sqrt (nb) + 1; hvis (nb% 2 == 0) test = 1; ellers {for (i = 3; i <grense &&! test; i + = 2, telle ++) hvis (nb% i = = 0) test = 1; } hvis (! test) printf ("% d prime nummer, antall iterasjoner =% dn", nb, telle); ellers printf ("% d ikke prime nummer, antall iterasjoner =% dn", nb, telle); returner 0; }
Forrige Artikkel Neste Artikkel

Beste Tips