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:
#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;
}