C-taal - Controleren of een geheel getal een priemgetal is

Een programma in C-taal kan worden gebruikt om te controleren of een geheel getal een priemgetal is . Enige kennis van programmeerconcepten en talen zoals C is vereist om een ​​programmacode in C te schrijven. Basisbegrippen zoals lusvorming, inclusief voor lussen, terwijl lussen worden gebruikt, als er anders lussen, functies, enz. Nodig zijn om programma's te schrijven. Een programma om te controleren of een geheel getal een priemgetal in C is, kan worden geschreven met behulp van geneste for-lussen . Geneste for-lussen bevatten één voor lus in een andere lus. Enige kennis van C-functies zoals scanf en printf zal ook van pas komen bij het programmeren in C.

[C language] Controleren of een geheel getal een priemgetal is

  • Definitie van een priemgetal
    • Algoritme 1: delers tussen 2 en N-1 worden getest
    • Algoritme 2: zelfs delers zullen niet worden getest, onderzoek is beperkt tot oneven delers
    • Algoritme 3: Alle oneven delers tot de vierkantswortel van N worden getest
    • Algoritme 4: stop het programma wanneer een deler wordt gevonden

Definitie van een priemgetal

Een priemgetal is een geheel getal, dat alleen door 1 en zichzelf wordt gedeeld.

Algoritme 1: delers tussen 2 en N-1 worden getest

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

  • prime_number1.c * / / * algoritme: test alle verdelers * / #include int main (void) {int i, nb, count, test; test = aantal = 0; printf ("voer integer: in"); if (scanf ("% d", & nb)! = 1) geeft -1 terug; voor (i = 2; i <nb; i ++, count ++) if (nb% i == 0) test = 1; if (! test) printf ("% d priemgetal, aantal iteraties =% dn", nb, aantal); else printf ("% d is geen priemgetal, aantal iteraties =% dn", nb, aantal); retourneer 0; }

Algoritme 2: zelfs delers zullen niet worden getest, onderzoek is beperkt tot oneven delers

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

  • prime_number2.c * / / * algoritme: sluit even getallen uit en * test alle verdelers * / #include int main (void) {int i, nb, count, test; test = aantal = 0; printf ("voer integer: in"); if (scanf ("% d", & nb)! = 1) geeft -1 terug; if (nb% 2 == 0) test = 1; else {for (i = 3; i <nb; i + = 2, count ++) if (nb% i == 0) test = 1; } if (! test) printf ("% d priemgetal, aantal iteraties =% dn", nb, aantal); else printf ("% d is geen priemgetal, aantal iteraties =% dn", nb, aantal); retourneer 0; }

Algoritme 3: Alle oneven delers tot de vierkantswortel van N worden getest

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

  • prime_number3.c * / / * algoritme: sluit alle even nummers uit en * test alle verdelers tot vierkantswortel * / # include #include int main (void) {int i, nb, count, test, limit; test = aantal = 0; printf ("voer integer: in"); if (scanf ("% d", & nb)! = 1) geeft -1 terug; limiet = sqrt (nb) + 1; if (nb% 2 == 0) test = 1; else {voor (i = 3; i <limit; i + = 2, count ++) if (nb% i == 0) test = 1; } if (! test) printf ("% d priemgetal, aantal iteraties =% dn", nb, aantal); else printf ("% d niet een priemgetal, aantal iteraties =% dn", nb, aantal); retourneer 0; }

Algoritme 4: stop het programma wanneer een deler wordt gevonden

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

  • prime_number4.c * / / * algoritme: sluit alle even nummers uit en * test alle verdelers tot de vierkantswortel * exit lus wanneer eerste deler gevonden is * / #include #include int main (void) {int i, nb, count, proef beperken; test = aantal = 0; printf ("Enter integer:"); if (scanf ("% d", & nb)! = 1) geeft -1 terug; limiet = sqrt (nb) + 1; if (nb% 2 == 0) test = 1; else {for (i = 3; i <limit &&! test; i + = 2, count ++) if (nb% i == 0) test = 1; } if (! test) printf ("% d priemgetal, aantal iteraties =% dn", nb, aantal); else printf ("% d niet priemgetal, aantal iteraties =% dn", nb, aantal); retourneer 0; }
Vorige Artikel Volgende Artikel

Top Tips