Número loeschiano

Dado un número N , la tarea es verificar si N es un Número Loeschiano o no. Si N es un número de Loeschian , escriba «Sí», de lo contrario, escriba «No» .
 

Un número N es un número loeschiano si N puede expresarse de la forma  x^{2} + x*y + y^{2}  de dos enteros cualesquiera x e y. 
 

Ejemplos: 
 

Entrada: N = 19 
Salida: Sí 
Explicación: 
19 = 2 2 + 2*3 +3 2
Entrada: N = 20 
Salida: No 
 

Enfoque: La idea es iterar dos bucles anidados en el rango [0, sqrt(N)] para x e y respectivamente. Si para cualquier par de enteros (x, y) satisface la ecuación,  x^{2} + x*y + y^{2} = N  imprima «Sí» , de lo contrario, imprima «No» .
A continuación se muestra la implementación del enfoque anterior:
 

C++

// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to check if N is a
// Loeschian Number
bool isLoeschian(int n)
{
    // Iterate [0, sqrt(N)] for x
    for (int x = 1; x <= sqrt(n); x++) {
 
        // Iterate [0, sqrt(N)] for y
        for (int y = 1; y <= sqrt(n); y++) {
 
            // Check the given criteria
            if (x * x + x * y + y * y == n)
                return true;
        }
    }
 
    // If no such pair found then
    // return false
    return false;
}
 
// Driver Code
int main()
{
    // Given Number N
    int N = 19;
 
    // Function Call
    if (isLoeschian(n))
        cout << "Yes";
    else
        cout << "No";
}

Java

// Java program for the above approach
class GFG{
 
// Function to check if N is a
// Loeschian Number
static boolean isLoeschian(int n)
{
     
    // Iterate [0, sqrt(N)] for x
    for(int x = 1; x <= Math.sqrt(n); x++)
    {
         
       // Iterate [0, sqrt(N)] for y
       for(int y = 1; y <= Math.sqrt(n); y++)
       {
            
          // Check the given criteria
          if (x * x + x * y + y * y == n)
              return true;
       }
    }
 
    // If no such pair found then
    // return false
    return false;
}
 
// Driver code
public static void main(String[] args)
{
     
    // Given Number N
    int n = 19;
 
    // Function Call
    if (isLoeschian(n))
    {
        System.out.println("Yes");
    }
    else
    {
        System.out.println("No");
    }
}
}
 
// This code is contributed by Pratima Pandey

Python3

# Python3 program for the above approach
import math
 
# Function to check if N is a
# Loeschian Number
def isLoeschian(n):
 
    # Iterate [0, sqrt(N)] for x
    for x in range(1, (int)(math.sqrt(n)) + 1):
 
        # Iterate [0, sqrt(N)] for y
        for y in range(1, (int)(math.sqrt(n)) + 1):
 
            # Check the given criteria
            if (x * x + x * y + y * y == n):
                return True
 
    # If no such pair found then
    # return false
    return False
 
# Driver code
 
# Given Number N
N = 19
 
# Function Call
if (isLoeschian(N)):
    print("Yes")
else:
    print("No")
 
# This code is contributed by Vishal Maurya

C#

// C# program for the above approach
using System;
 
class GFG{
 
// Function to check if N is a
// Loeschian Number
static bool isLoeschian(int n)
{
     
    // Iterate [0, sqrt(N)] for x
    for(int x = 1; x <= Math.Sqrt(n); x++)
    {
        
       // Iterate [0, sqrt(N)] for y
       for(int y = 1; y <= Math.Sqrt(n); y++)
       {
            
          // Check the given criteria
          if (x * x + x * y + y * y == n)
              return true;
       }
    }
 
    // If no such pair found then
    // return false
    return false;
}
 
// Driver code
public static void Main(String[] args)
{
     
    // Given Number N
    int n = 19;
 
    // Function Call
    if (isLoeschian(n))
    {
        Console.WriteLine("Yes");
    }
    else
    {
        Console.WriteLine("No");
    }
}
}
 
// This code is contributed by amal kumar choubey

Javascript

<script>
// JavaScript program for the above approach
 
// Function to check if N is a
// Loeschian Number
function isLoeschian(n) {
    // Iterate [0, sqrt(N)] for x
    for (let x = 1; x <= Math.sqrt(n); x++) {
 
        // Iterate [0, sqrt(N)] for y
        for (let y = 1; y <= Math.sqrt(n); y++) {
 
            // Check the given criteria
            if (x * x + x * y + y * y == n)
                return true;
        }
    }
 
    // If no such pair found then
    // return false
    return false;
}
 
// Driver Code
 
// Given Number n
let n = 19;
 
// Function Call
if (isLoeschian(n))
    document.write("Yes");
else
    document.write("No");
 
// This code is contributed by blalverma92
</script>
Producción: 

Yes

 

Complejidad de tiempo: O(N)
 

Publicación traducida automáticamente

Artículo escrito por spp____ 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 *