👤

Cerinţa ---> #375 Urmatorul prim pbinfo (va rog ajutor am nevoie de 100 pct. C++)

Se se citește un număr natural n. Să se determine cel mai mic număr prim, strict mai mare decât n.

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

Date de ieşire
Programul afișează pe ecran numărul cerut .

Restricţii şi precizări
1 ≤ n ≤ 1.000.000.000



Exemplu:
Date de intrare:
20

Date de ieșire:
23


Răspuns :

#include<bits/stdc++.h>

using namespace std;

unsigned long n;

int Prime(unsigned long a);

int main()
{

    cin >> n;

    while(Prime(n+1)==0)
        n++;

    cout << n+1;

}

int Prime(unsigned long a)
{
   unsigned long i;
   if (a == 2)
      return 1;
   if (a == 0 || a == 1 || a % 2 == 0)
      return 0;
   for(i = 3; i*i <= a && a % i; i += 2)
      ;
   return i*i > a;
}