Testul de numar prim C++

ENUNT: Se citeste de la tastatura un numar n. Determinati daca numarul citit este prim si afisati un mesaj corespunzator.
Codul afisat mai jos determina daca numarul are divizori proprii, pe care ii numara folosind variabila nr. In final, daca numarul are divizori proprii, programul afiseaza mesajul “Numarul nu este prim”, iar daca nr = 0 (numarul nu are divizori proprii), afiseaza mesajul “Numarul este prim”.
Un numar este prim daca are doar divizori improprii (daca este divizibil doar cu 1 si cu el insusi).

#include <iostream>
using namespace std;
//se declara variabilele n,d si i de tip intreg
//variabila n memoreaza numarul introdus de la tastatura
//variabila d este folosita pentru a determina divizorii proprii
//variabila nr numara divizorii proprii ai lui n
int n,d,nr;
int main()
{
// se citeste numarul n de la tastatura
cout<<"Introduceti numarul n: ";
cin>>n;
//se determina daca numarul are divizori proprii
for(d=2;d<=n/2;d++)
{//d este initalizat cu 2 (primul divizor propriu posibil)
//instructiunea merge pana la n/2 deoarece nu pot exista divizori proprii intre n/2 si n
if(n%d==0) //conditia ca d sa fie divizor propriu al lui d
nr++;
}
if(nr==0)
cout<<"Numarul este prim";
else
cout<<"Numarul nu este prim";
return 0;
}

Video YouTube:

Exemplu:Testul de numar prim C++ Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂

9 Replies to “Testul de numar prim C++”

  1. Nr nu ar trebui initializat cu 0?

    Reply

    1. Salut. Orice variabila declarata global (inainte de main, in exteriorul oricarei functii) va fi intizializata implicit cu 0. Nu mai trebuie sa o facem si noi explicit.

      Reply

  2. Salut !
    Cum pot face ca programul sa imi “ceara” sa introduc din nou valoarea daca am introdus un numar care nu este prim

    Reply

    1. Salut. Dupa cum spune si mihai mai jos, trebuie sa te folosesti de cin. Astfel, ai putea sa pui tot programul intr.un while, din care sa iesi doar atunci cand ai gasit un numar prim (o variabila o faci din 0 in 1). Astfel, daca nu e prim, o sa revina la cin.ul de la inceput ai o sa astepte un nou numar de la tastatura. Spor la lucru

      Reply

  3. mai pui la final un cin

    Reply

  4. De ce nu faceti un filmulet ca cele de pe youTube?? Sunt foarte ok si usor de inteles, multe fuctii le-am inteles din acele videouri!!! Sunt foarte ok!!

    Reply

  5. Lazarescu Antonio December 13, 2019 at 7:11 pm

    Pentru n = 1, programul afiseaza: “Numarul n este prim”.

    Inainte de “for”, ar trebui sa existe: daca(n < 2), atunci afiseaza: "Numarul n nu este prim".

    Reply

  6. SUPER BOSSSS

    Reply

  7. Poti sa declari o variabila de tip bool pe care o initializezi cu false.
    Gen asa:
    bool isprim = false;
    while(!variabila)
    {
    if(numarul este prim)
    {
    isprim=true;
    Afisezi un mesaj;
    }
    else
    {
    isprim=false;
    Afisezi un mesaj;
    }
    }

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *