Jump to content

[C++] Verificare numar prim


Krusher
 Share

Recommended Posts

Poate fi optimizat si mai mult.

  • Cum ai zis si tu, sa mergem pana la radical.
  • Ne folosim ca toate numerele pare in afara de doi sunt sigur neprime, asa ca parcurgem din 2 in 2
    if(numar == 2) // Daca numarul este 2, acesta este prim
        return true;
    if(numar < 2 || numar % 2 == 0) // Daca numarul este mai mic ca si 2 (1, 0, -1, -2, etc) sau se divide cu 2 si nu e 2 - acesta nu este prim
        return false;


    for(int i = 3; i * i <= numar; i += 2) // Parcurgem toate numerele de 3 la numar, din 2 in 2
        if(numar % i == 0) // Daca acesta se imparte exact la acel numar, inseamna ca nu este prim
            return false;
    return true;

Cel mai developer

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...