In dit voorbeeld leert u controleren of een door de gebruiker ingevoerd geheel getal een priemgetal is of niet.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C-programmeeronderwerpen:
- C if… else Statement
- C voor Loop
- C breken en doorgaan
Een priemgetal is een positief geheel getal dat alleen door 1
en zelf deelbaar is. Bijvoorbeeld: 2, 3, 5, 7, 11, 13, 17
Programma om het priemgetal te controleren
#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; )
Uitvoer
Voer een positief geheel getal in: 29 29 is een priemgetal.
In het programma wordt een for-lus herhaald van i = 2
naar i < n/2
.
In elke iteratie wordt gecontroleerd of n perfect deelbaar is door i met:
if (n % i == 0) ( )
Als n perfect deelbaar is door i, is n geen priemgetal. In dit geval wordt de vlag ingesteld op 1 en wordt de lus beëindigd met de break
instructie.
Als n na de lus een priemgetal is, is de vlag nog steeds 0. Als n echter een niet-priemgetal is, is de vlag 1.
Bezoek deze pagina om te zien hoe u alle priemgetallen tussen twee intervallen kunt afdrukken.