Conjetura de Legendre

Dice que siempre hay un número primo entre dos cuadrados de números naturales consecutivos (n = 1, 2, 3, 4, 5, …). Esto se llama la Conjetura de Legendre

Conjetura: Una conjetura es una proposición o conclusión basada en información incompleta para la cual no se ha encontrado prueba, es decir, no se ha probado ni refutado.

Matemáticamente, 
siempre hay un primo p en el rango  n^2   donde  (n + 1)^2   n es cualquier número natural.
por ejemplo 
, 2 y 3 son los números primos en el rango  1^2   de  2^2   .
5 y 7 son los primos en el rango  2^2   de  3^2   .
11 y 13 son los primos en el rango  3^2   de  4^2   .
17 y 19 son los primos en el rango  4^2   de  5^2   .
 

Ejemplos:  

Input : 4 
output: Primes in the range 16 and 25 are:
        17
        19
        23

Explicación : aquí 4 2 = 16 y 5 2 = 25 
Por lo tanto, los números primos entre 16 y 25 son 17, 19 y 23.  

Input : 10
Output: Primes in the range 100 and 121 are:
        101
        103
        107
        109
        113
 

C++

// C++ program to verify Legendre's Conjecture
// for a given n.
#include <bits/stdc++.h>
using namespace std;
 
// prime checking
bool isprime(int n)
{
    for (int i = 2; i * i <= n; i++)
        if (n % i == 0)
            return false;
    return true;
}
 
void LegendreConjecture(int n)
{
   cout << "Primes in the range "<<n*n
        << " and "<<(n+1)*(n+1)
        <<" are:" <<endl;
     
   for (int i = n*n; i <= ((n+1)*(n+1)); i++)
     
      // searching for primes
      if (isprime(i))
          cout << i <<endl;
}
 
// Driver program
int main()
{
    int n = 50;
    LegendreConjecture(n);
    return 0;
}

Java

// Java program to verify Legendre's Conjecture
// for a given n.
class GFG {
 
  // prime checking
  static boolean isprime(int n)
  {
     for (int i = 2; i * i <= n; i++)
        if (n % i == 0)
            return false;
     return true;
  }
 
  static void LegendreConjecture(int n)
  {
     System.out.println("Primes in the range "+n*n
        +" and "+(n+1)*(n+1)
        +" are:");
     
     for (int i = n*n; i <= ((n+1)*(n+1)); i++)
     {
       // searching for primes
       if (isprime(i))
         System.out.println(i);
     }
  }
 
  // Driver program
  public static void main(String[] args)
  {
     int n = 50;
     LegendreConjecture(n);
  }
}
//This code is contributed by
//Smitha Dinesh Semwal

Python3

# Python3 program to verify Legendre's Conjecture
# for a given n
 
import math
 
def isprime( n ):
     
    i = 2
    for i in range (2, int((math.sqrt(n)+1))):
        if n%i == 0:
            return False
    return True
     
def LegendreConjecture( n ):
    print ( "Primes in the range ", n*n
            , " and ", (n+1)*(n+1)
            , " are:" )
             
     
    for i in range (n*n, (((n+1)*(n+1))+1)):
        if(isprime(i)):
            print (i)
             
n = 50
LegendreConjecture(n)
 
# Contributed by _omg

C#

// C# program to verify Legendre's
// Conjecture for a given n.
using System;
 
class GFG {
 
    // prime checking
    static Boolean isprime(int n)
    {
        for (int i = 2; i * i <= n; i++)
            if (n % i == 0)
                return false;
                 
        return true;
    }
     
    static void LegendreConjecture(int n)
    {
        Console.WriteLine("Primes in the range "
           + n * n + " and " + (n + 1) * (n + 1)
                                      + " are:");
         
        for (int i = n * n; i <= ((n + 1)
                                * (n + 1)); i++)
        {
             
            // searching for primes
            if (isprime(i))
                Console.WriteLine(i);
        }
    }
     
    // Driver program
    public static void Main(String[] args)
    {
        int n = 50;
         
        LegendreConjecture(n);
    }
}
 
// This code is contributed by parashar.

PHP

<?php
// PHP program to verify
// Legendre's Conjecture
// for a given n.
 
// prime checking
function isprime($n)
{
    for ($i = 2; $i * $i <= $n; $i++)
        if ($n % $i == 0)
            return false;
    return true;
}
 
function LegendreConjecture($n)
{
    echo "Primes in the range ",$n* $n,
        " and ",($n + 1) * ($n + 1),
        " are:\n" ;
     
    for ($i = $n * $n; $i <= (($n + 1) *
                      ($n + 1)); $i++)
     
    // searching for primes
    if (isprime($i))
        echo $i ,"\n";
}
 
    // Driver Code
    $n = 50;
    LegendreConjecture($n);
 
// This code is contributed by ajit.
?>

Javascript

<script>
 
// JavaScript program to verify
// Legendre's Conjecture for a given n.
 
// Prime checking
function isprime(n)
{
    for(let i = 2; i * i <= n; i++)
        if (n % i == 0)
            return false;
             
        return true;
}
 
function LegendreConjecture(n)
{
    document.write("Primes in the range " +
                   n * n + " and " +
                 (n + 1) * (n + 1) +
                 " are:" + "<br/>");
     
    for(let i = n * n;
            i <= ((n + 1) * (n + 1));
            i++)
    {
         
        // Searching for primes
        if (isprime(i))
            document.write(i + "<br/>");
    }
}
 
// Driver code
let n = 50;
 
LegendreConjecture(n);
 
// This code is contributed by splevel62
 
</script>

Producción : 

Primes in the range 2500 and 2601 are:
2503
2521
2531
2539
2543
2549
2551
2557
2579
2591
2593

Complejidad Temporal: O(n 2 ). La función isPrime() toma el tiempo O(n) y está incrustada en la función LegendreConjecture() que también toma el tiempo O(n) ya que tiene un ciclo que comienza desde n 2 y termina en 
(n+1) 2   entonces, (n+ 1) 2 – n2 = 2n+1.

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por jaideeppyne1997 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *