Dado un número entero N . La tarea es encontrar el siguiente número primo, es decir , el número primo más pequeño mayor que N.
Ejemplos:
Entrada: N = 10
Salida: 11
11 es el número primo más pequeño mayor que 10.Entrada: N = 0
Salida: 2
Acercarse:
- En primer lugar, tome una variable booleana encontrada e inicialícela en falso.
- Ahora, hasta que esa variable no sea igual a verdadera, incrementa N en 1 en cada iteración y comprueba si es primo o no.
- Si es primo, imprímalo y cambie el valor de la variable encontrada a Verdadero. de lo contrario, repita el bucle hasta que obtenga el siguiente número primo.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function that returns true if n // is prime else returns false bool isPrime(int n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop if (n%2 == 0 || n%3 == 0) return false; for (int i=5; i*i<=n; i=i+6) if (n%i == 0 || n%(i+2) == 0) return false; return true; } // Function to return the smallest // prime number greater than N int nextPrime(int N) { // Base case if (N <= 1) return 2; int prime = N; bool found = false; // Loop continuously until isPrime returns // true for a number greater than n while (!found) { prime++; if (isPrime(prime)) found = true; } return prime; } // Driver code int main() { int N = 3; cout << nextPrime(N); return 0; }
Java
// Java implementation of the approach class GFG { // Function that returns true if n // is prime else returns false static boolean isPrime(int n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop if (n % 2 == 0 || n % 3 == 0) return false; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } // Function to return the smallest // prime number greater than N static int nextPrime(int N) { // Base case if (N <= 1) return 2; int prime = N; boolean found = false; // Loop continuously until isPrime returns // true for a number greater than n while (!found) { prime++; if (isPrime(prime)) found = true; } return prime; } // Driver code public static void main (String[] args) { int N = 3; System.out.println(nextPrime(N)); } } // This code is contributed by AnkitRai01
Python3
# Python3 implementation of the approach import math # Function that returns True if n # is prime else returns False def isPrime(n): # Corner cases if(n <= 1): return False if(n <= 3): return True # This is checked so that we can skip # middle five numbers in below loop if(n % 2 == 0 or n % 3 == 0): return False for i in range(5,int(math.sqrt(n) + 1), 6): if(n % i == 0 or n % (i + 2) == 0): return False return True # Function to return the smallest # prime number greater than N def nextPrime(N): # Base case if (N <= 1): return 2 prime = N found = False # Loop continuously until isPrime returns # True for a number greater than n while(not found): prime = prime + 1 if(isPrime(prime) == True): found = True return prime # Driver code N = 3 print(nextPrime(N)) # This code is contributed by Sanjit_Prasad
C#
// C# implementation of the approach using System; class GFG { // Function that returns true if n // is prime else returns false static bool isPrime(int n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop if (n % 2 == 0 || n % 3 == 0) return false; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } // Function to return the smallest // prime number greater than N static int nextPrime(int N) { // Base case if (N <= 1) return 2; int prime = N; bool found = false; // Loop continuously until isPrime // returns true for a number // greater than n while (!found) { prime++; if (isPrime(prime)) found = true; } return prime; } // Driver code public static void Main (String[] args) { int N = 3; Console.WriteLine(nextPrime(N)); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Javascript implementation of the approach // Function that returns true if n // is prime else returns false function isPrime(n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop if (n%2 == 0 || n%3 == 0) return false; for (let i=5; i*i<=n; i=i+6) if (n%i == 0 || n%(i+2) == 0) return false; return true; } // Function to return the smallest // prime number greater than N function nextPrime(N) { // Base case if (N <= 1) return 2; let prime = N; let found = false; // Loop continuously until isPrime returns // true for a number greater than n while (!found) { prime++; if (isPrime(prime)) found = true; } return prime; } // Driver code let N = 3; document.write(nextPrime(N)); // This code is contributed by Mayank Tyagi </script>
Producción:
5
Publicación traducida automáticamente
Artículo escrito por Naman_Garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA