Dado un número entero N, la tarea es encontrar los números de N dígitos más pequeños y más grandes que también son cuadrados perfectos.
Ejemplos:
Entrada: N = 2
Salida: 16 81
16 y 18 son los cuadrados perfectos de 2 dígitos más pequeño y más grande.
Entrada: N = 3
Salida: 100 961
Enfoque: Para valores crecientes de N a partir de N = 1 , la serie continuará como 9, 81, 961, 9801, ….. para el cuadrado perfecto de N dígitos más grande cuyo término N-ésimo será pow(ceil(sqrt(pow (10, N))) – 1, 2) .
Y 1, 16, 100, 1024, ….. para el cuadrado perfecto de N dígitos más pequeño cuyo enésimo término será pow(ceil(sqrt(pow(10, N – 1))), 2) .
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 to print the largest and // the smallest n-digit perfect squares void nDigitPerfectSquares(int n) { // Smallest n-digit perfect square cout << pow(ceil(sqrt(pow(10, n - 1))), 2) << " "; // Largest n-digit perfect square cout << pow(ceil(sqrt(pow(10, n))) - 1, 2); } // Driver code int main() { int n = 4; nDigitPerfectSquares(n); return 0; }
Java
// Java implementation of the approach class GFG { // Function to print the largest and // the smallest n-digit perfect squares static void nDigitPerfectSquares(int n) { // Smallest n-digit perfect square int smallest = (int)Math.pow(Math.ceil(Math.sqrt(Math.pow(10, n - 1))), 2); System.out.print(smallest + " "); // Largest n-digit perfect square int largest = (int)Math.pow(Math.ceil(Math.sqrt(Math.pow(10, n))) - 1, 2); System.out.print(largest); } // Driver code public static void main(String args[]) { int n = 4; nDigitPerfectSquares(n); } }
Python3
# Python3 implementation of the approach import math # Function to print the largest and # the smallest n-digit perfect squares def nDigitPerfectSquares(n): # Smallest n-digit perfect square print(pow(math.ceil(math.sqrt(pow(10, n - 1))), 2), end = " "); # Largest n-digit perfect square print(pow(math.ceil(math.sqrt(pow(10, n))) - 1, 2)); # Driver code n = 4; nDigitPerfectSquares(n); # This code is contributed by mits
C#
// C# implementation of the approach using System; public class GFG { // Function to print the largest and // the smallest n-digit perfect squares static void nDigitPerfectSquares(int n) { // Smallest n-digit perfect square int smallest = (int)Math.Pow(Math.Ceiling(Math.Sqrt(Math.Pow(10, n - 1))), 2); Console.Write(smallest + " "); // Largest n-digit perfect square int largest = (int)Math.Pow(Math.Ceiling(Math.Sqrt(Math.Pow(10, n))) - 1, 2); Console.Write(largest); } // Driver code public static void Main(String []args) { int n = 4; nDigitPerfectSquares(n); } } // This code has been contributed by 29AjayKumar
PHP
<?php // PHP implementation of the approach // Function to print the largest and // the smallest n-digit perfect squares function nDigitPerfectSquares($n) { // Smallest n-digit perfect square echo pow(ceil(sqrt(pow(10, $n - 1))), 2), " "; // Largest n-digit perfect square echo pow(ceil(sqrt(pow(10, $n))) - 1, 2); } // Driver code $n = 4; nDigitPerfectSquares($n); // This code is contributed by jit_t ?>
Javascript
<script> // Javascript implementation of the approach // Function to print the largest and // the smallest n-digit perfect squares function nDigitPerfectSquares(n) { // Smallest n-digit perfect square document.write(Math.pow(Math.ceil(Math.sqrt(Math.pow(10, n - 1))), 2) + " "); // Largest n-digit perfect square document.write(Math.pow(Math.ceil(Math.sqrt(Math.pow(10, n))) - 1, 2)); } // Driver code var n = 4; nDigitPerfectSquares(n); // This code is contributed by rutvik_56. </script>
Producción:
1024 9801
Espacio Auxiliar: O(1)