C Program til at kontrollere, om et nummer er prime eller ej

I dette eksempel lærer du at kontrollere, om et heltal indtastet af brugeren er et primtal eller ej.

For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:

  • C hvis… ellers Erklæring
  • C for Loop
  • C bryde og fortsætte

Et primtal er et positivt heltal, der kun kan deles af 1sig selv. For eksempel: 2, 3, 5, 7, 11, 13, 17

Program til at kontrollere primtal

 #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; ) 

Produktion

 Indtast et positivt heltal: 29 29 er et primtal. 

I programmet gentages en for-sløjfe fra i = 2til i < n/2.

I hver iteration kontrolleres, om n er helt delelig med i, ved hjælp af:

 if (n % i == 0) ( ) 

Hvis n er helt delelig med i, er n ikke et primtal. I dette tilfælde er flag sat til 1, og sløjfen afsluttes ved hjælp af breakudsagnet.

Efter sløjfen, hvis n er et primtal, vil flag stadig være 0. Hvis n imidlertid er et ikke-primtal, vil flag være 1.

Besøg denne side for at lære, hvordan du kan udskrive alle primtal mellem to intervaller.

Interessante artikler...