Dados dos números enteros N y B , la tarea es encontrar los números de N dígitos más grandes de la Base B, que es un cuadrado perfecto.
Ejemplos:
Entrada: N = 2, B = 10
Salida: 81
Explicación:
81 es el cuadrado perfecto de 2 dígitos más grande en base 10.
Entrada: N = 1, B = 8
Salida: 4
Explicación:
4 es el número octal de 1 dígito más grande que es también un cuadrado perfecto.
Método: El mayor número N en base B viene dado por . Entonces, si encontramos la raíz cuadrada de este número en forma de entero y luego tenemos que hacer su cuadrado nuevamente, entonces será el cuadrado perfecto más grande de N dígitos que está dado por la fórmula: .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation to find Largest // N digit perfect square number in Base B #include <bits/stdc++.h> using namespace std; // Function to find the // largest N digit number void nDigitPerfectSquares(int n, int b) { // Largest n-digit perfect square int largest = pow(ceil(sqrt(pow(b, n))) - 1, 2); // Print the result cout << largest; } // Driver Code int main() { int N = 1, B = 8; nDigitPerfectSquares(N, B); return 0; }
Java
// Java implementation to find largest N // digit perfect square number in base B import java.io.*; import java.util.*; class GFG { // Function to find the // largest N digit number static double nDigitPerfectSquares(int n, int b) { // Largest n-digit perfect square double largest = Math.pow(Math.ceil (Math.sqrt (Math.pow(b, n))) - 1, 2); // Print the result return largest; } // Driver code public static void main(String[] args) { int N = 1, B = 8; System.out.println(nDigitPerfectSquares(N, B)); } } // This code is contributed by coder001
Python3
# Python3 implementation to find the largest # N digit perfect square number in base B import math # Function to find the # largest N digit number def nDigitPerfectSquares(n, b): # Largest n-digit perfect square largest = pow(math.ceil (math.sqrt(pow(b, n))) - 1, 2) # Print the result print(largest) # Driver Code N = 1 B = 8 nDigitPerfectSquares(N, B) # This code is contributed by divyamohan123
C#
// C# implementation to find largest N // digit perfect square number in base B using System; class GFG { // Function to find the // largest N digit number static double nDigitPerfectSquares(int n, int b) { // Largest n-digit perfect square double largest = Math.Pow(Math.Ceiling (Math.Sqrt (Math.Pow(b, n))) - 1, 2); // Print the result return largest; } // Driver code public static void Main(String[] args) { int N = 1, B = 8; Console.WriteLine(nDigitPerfectSquares(N, B)); } } // This code is contributed by PrinciRaj1992
Javascript
<script> // Javascript implementation to find Largest // N digit perfect square number in Base B // Function to find the // largest N digit number function nDigitPerfectSquares(n, b) { // Largest n-digit perfect square var largest = Math.pow(Math.ceil(Math.sqrt(Math.pow(b, n))) - 1, 2); // Print the result document.write(largest); } // Driver Code var N = 1, B = 8; nDigitPerfectSquares(N, B); </script>
4
Complejidad de tiempo: O (logn)
Espacio Auxiliar: O(1)