Care este algoritmul pentru a afla un numar prin citit de la tastatura. Daca se poate vreau si cu o explicatie mai amanuntita ca sa pot intelege logic.
Răspunsuri la întrebare
un numar e prim daca are ca divizori doar pe 1 si pe el insusi
ex: 5 e prim ca nu se imparte nici cu 2 nici cu 3 nici cu 4 doar cu 1 si 5
exceptie fac numerele 0 si 1, ele nu se considera prime
2 e numar prim de la sine care doar 2 divizor (se observa logic)
3 la fel
ai si formula pt nr prime care este 6*n + 1 sau 6*n - 1 cu n numar natural de la 1 pana la infinit
bun, avand astea in minte:
ai o variabila "div" care e initializata cu 0
asta denota ca numarul tau "n" are 0 divizori, asa presupunem la inceput
apoi faci o parcurge prin divizorii numarului
adica for (int i = 1; i <= n; i++)
asta inseamna ca iei toate numerele de la 1 la n si verifici apoi daca n%i==0 adica daca i e divizor al lui n, daca n se imparte exact la i prin instructiunea asta de am scris-o eu si daca e adevarata atunci incrementezi variabila div cu 1 (div++) daca nu e adevarata se merge mai departe
la final, dupa ce s-au parcurs toate numerele, verifici daca div==2 adica daca numarul de divizori al numarului n este 2 (adica doar 1 si el insusi); daca asta e adevarat inseamna ca numarul e prim, altfel nu e
program c++:
#include<iostream>
using namespace std;
int main(){
int div = 0, n;
cin >> n; //citim numarul de la tastatura
for (int i = 1; i <= n; i++)
if (n%i == 0)
div++;
if (div==2)
cout<<"numarul este prim";
else
cout<<"nu este prim";
}