Informatică, întrebare adresată de brainly702, 8 ani în urmă

Cerinţa
Să se scrie un program care citește de la tastatură un număr natural n și verifică dacă este prim.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă n este număr prim, respectiv NU în caz contrar.

Restricţii şi precizări
0 ≤ n ≤ 1.000.000.000
un număr natural este prim dacă are exact doi divizori distincți: 1 și el însuși.


Exemplu
Intrare

17
Ieșire

DA

pentru 60 puncte pe pbinfo
dau coroana

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int main() {

   int n;

   cin >> n;

   

   //presupunem ca numarul este prim

   bool prim = true;

   

   //orice nr mai mic decat 2 nu este prim

   if (n < 2) {

       prim = false;

   }

   

   //numerele pare mai mari decat 2 nu sunt prime

   if (n % 2 == 0 && n > 2) {

       prim = false;

   }

   

   //cautam un divizor impar

   for (int d = 3; d * d <= n && prim; d ++) {

       if (n % d == 0) { //daca am gasit un divizor inseamna ca nr ul nu este prim

           prim = 0;

       }

   }

   if (prim) {

       cout << "DA";

   }

   else {

       cout << "NU";

   }

   return 0;

}

Alte întrebări interesante