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 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, 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)