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).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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:
Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 

Nr nu ar trebui initializat cu 0?
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.
Salut !
Cum pot face ca programul sa imi “ceara” sa introduc din nou valoarea daca am introdus un numar care nu este prim
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
mai pui la final un cin
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!!
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".
SUPER BOSSSS
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;
}
}