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

cum scriu daca un numar este prim in c++


boiustef: Ai în vedere cum verifici dacă numărul e prim?

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

bool prim(register int x){

if(x < 2) return false;

if(x < 4) return true;

register int r = x % 6;

if(r != 1 && r != 5)return false;

for(register int i = 3; i * i <= x; i+=2)

 if(x%i==0)return false;

return true;

}

prim(x) -> true daca x este prim, false altfel

Un program care verifica daca un numar este prim:

#include <iostream>

using namespace std;

bool prim(register int x){

if(x < 2) return false;

if(x < 4) return true;

register int r = x % 6;

if(r != 1 && r != 5)return false;

for(register int i = 3; i * i <= x; i+=2)

 if(x%i==0)return false;

return true;

}

int main(){

int x;

cin >> x;

cout << (prim(x) ? "este prim" : "nu este prim");

}

Răspuns de Christ
1

bool prim (int n){

   int i;

   if (n < 2)

       return false;

   else if (n%2 == 0 && n != 2)

       return false;

   else for (i = 3;i*i <= n;i += 2)

       if (n%i == 0)

           return false;

   return true;

}

in main poti folosi subprogramul astfel:

if (prim (n))

  cout << "Este prim";

else cout << "Nu este prim";

Codul din suprogram poate fi de asemenea integrat in main daca nu este permisa folosirea de subprograme.

Alte întrebări interesante