Informatică, întrebare adresată de 23062002Boss1234, 8 ani în urmă

Se introduce un număr. Să se verifice dacă este număr prim. Exemple: Date de intrare 23 date de ieşire Prim ; Date de intrare 45 Date de ieşire Nu este prim.

Răspunsuri la întrebare

Răspuns de rossetta
2
Testam potentialii divizori ai unui numar pana la radicalul numarului. Daca numarul este prim, la un moment dat nu o sa se mai respecte conditia: d * d <= n. Daca numarul nu este prim, o sa pice aceasta conditie: n % d != 0.
Daca vrei, iti explic de ce este suficient sa mergem pana la radicalul numarului.

#include <iostream>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;
    int d = 2;
    while(d * d <= n && n % d != 0)
      d++;
    if(d * d > n && n > 1)
      cout <<"Numarul este prim";
    else
      cout << "Numarul nu este prim";
    return 0;
}


Răspuns de Seckar
0
Trebuie doar sa testezi numerele de la 2 pana la  \sqrt{numar}  daca sunt sau nu divizori ai lui n. Asta se face cu un for si cu un if. Eventual si cu o alta variabila unde retii daca ai gasit sau nu divizori.

Atasezi si o implementare putin mai avansata si mai complexa daca vrei si alta varianta.
Anexe:
Alte întrebări interesante