Informatică, întrebare adresată de Aporeclameaeasta, 8 ani în urmă

As dori si eu : Verificarea unui nr de la tastatura, daca acesta este - prim in C ( nu in C++ )

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

#include <stdio.h>

int este_prim(int numarul_citit);

int main()

{

int numarul_citit = 0;

printf("Introdu un numar: ");

/* citim numărul de la tastatură */

scanf("%d", &numarul_citit);

/* afișăm numarul_citit + "este prim" sau "nu este prim" în funcție de rezultatul întors de este_prim(...) */

printf("\"%d\" %s!\n", numarul_citit,

 este_prim(numarul_citit) == 1 ? "este prim" : "nu este prim");

return 0;

}

/* funcția returnează 1 dacă numărul_citit e prim, 0 altfel */

int este_prim(int numarul_citit)

{

/* 0 și 1 nu sunt numere prime */

if (numarul_citit == 0 || numarul_citit == 1)

{

 return 0;

}

/* dacă numărul_citit are un alt divizor ( înafară de 1 și el însuși ) înseamnă că nu este număr prim */

for (int i = 2; i < numarul_citit / 2; i++)

{

 if (numarul_citit % i == 0)

 {

  return 0;

 }

}

/* altfel avem un număr prim deci returnăm 1 */

return 1;

}

Alte întrebări interesante