C keel - kontrollimine, kas täisarv on esmane number

Programmi C keeles saab kontrollida, kas täisarv on algarv . Mõned programmeerimiskontseptsioonide ja keelte, nagu näiteks C, tundmine on vajalik, et kirjutada programmi kood C-le. Põhimõisted nagu silmus, sealhulgas silmuste jaoks, samas kui programmide kirjutamiseks on vaja silmuseid, kui mitte, silmuseid, funktsioone jne. Programmi, mis kontrollib, kas täisarv on algarv C-s, saab kirjutada, kasutades silindritesse sisestatud pesa . Silmade sisemuses on üks silmus teise sees. Mõned C-funktsioonide, nagu scanf ja printf teadmised osutuvad samuti kasulikuks C-programmeerimisel.

[C keel] Kontrollimine, kas täisarv on algarv

  • Algarvu määratlus
    • Algoritm 1: testitakse jagajaid 2 ja N-1 vahel
    • Algoritm 2: Isegi jagureid ei testita, uurimine piirdub paaritu jagajatega
    • Algoritm 3: Testitakse kõiki paaritujajaid kuni N ruutjuureni
    • Algoritm 4: peatage programm jaotaja leidmisel

Algarvu määratlus

Esmane number on täisarv, mis on jagatud ainult 1 ja ise.

Algoritm 1: testitakse jagajaid 2 ja N-1 vahel

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

  • prime_number1.c * / / * algoritm: testige kõiki jagajaid * / #include int main (void) {int i, nb, count, test; test = loend = 0; printf ("sisesta täisarv"); kui (scanf ("% d", & nb)! = 1) tagasi -1; (i = 2; i <nb; i ++, count ++) kui (nb% i == 0) test = 1; if (! test) printf ("% d algarv, iteratsioonide arv =% dn", nb, loendus); other printf ("% d ei ole algarv, iteratsioonide arv =% dn", nb, loendus); tagastamine 0; }

Algoritm 2: Isegi jagureid ei testita, uurimine piirdub paaritu jagajatega

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

  • prime_number2.c * / / * algoritm: välista paarisarvud ja * testida kõiki jagajaid * / #include int main (void) {int i, nb, count, test; test = loend = 0; printf ("sisesta täisarv"); kui (scanf ("% d", & nb)! = 1) tagasi -1; kui (nb% 2 == 0) test = 1; veel {(i = 3; i <nb; i + = 2, count ++) kui (nb% i == 0) test = 1; } if (! test) printf ("% d prime number, iteratsioonide arv =% dn", nb, loendus); other printf ("% d ei ole algarv, iteratsioonide arv =% dn", nb, loendus); tagastamine 0; }

Algoritm 3: Testitakse kõiki paaritujajaid kuni N ruutjuureni

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

  • prime_number3.c * / / * algoritm: välistage kõik paarisarvud ja * testige kõiki eraldajaid ruutjuure järgi * / #include #include int main (void) {int i, nb, count, test, limit; test = loend = 0; printf ("sisesta täisarv"); kui (scanf ("% d", & nb)! = 1) tagasi -1; limit = sqrt (nb) + 1; kui (nb% 2 == 0) test = 1; other {for (i = 3; i <limit; i + = 2, count ++) kui (nb% i == 0) test = 1; } if (! test) printf ("% d prime number, iteratsioonide arv =% dn", nb, loendus); other printf ("% d ei ole algarv, iteratsioonide arv =% dn", nb, loendus); tagastamine 0; }

Algoritm 4: peatage programm jaotaja leidmisel

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

  • prime_number4.c * / / * algoritm: välistage kõik paarisarvud ja * testige kõiki jagajaid kuni ruutjuure * väljumisringini, kui leitakse esimene jagaja * / #include #include int main (void) {int i, nb, count, test, piir; test = loend = 0; printf ("Sisesta täisarv"); kui (scanf ("% d", & nb)! = 1) tagasi -1; limit = sqrt (nb) + 1; kui (nb% 2 == 0) test = 1; other {for (i = 3; i <limit &&! test; i + = 2, count ++) kui (nb% i == 0) test = 1; } if (! test) printf ("% d prime number, iteratsioonide arv =% dn", nb, loendus); other printf ("% d ei prime number, iteratsioonide arv =% dn", nb, loendus); tagastamine 0; }
Eelmine Artikkel Järgmine Artikkel

Top Näpunäited