Dado un número N. La tarea es contar números totales debajo de N que son cuadrados perfectos y cubos de algunos números enteros.
Ejemplos:
Input: N = 100 Output: 2 They are 1 and 64. Input: N = 100000 Output: 6
Enfoque: Para que un número positivo dado N sea un cuadrado perfecto, debe satisfacer P 2 = N De manera similar, Q 3 = N para un cubo perfecto donde P y Q son algunos números enteros positivos.
N = P 2 = Q 3
Por lo tanto, si N es una sexta potencia, esto ciertamente funcionaría. Diga N = A 6 que se puede escribir como (A 3 ) 2 o (A 2 ) 3 .
Por lo tanto, elija la sexta potencia de todos los enteros positivos que sean menores que N.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the above approach #include <bits/stdc++.h> using namespace std; // Function to return required count int SquareCube(long long int N) { int cnt = 0, i = 1; while (int(pow(i, 6)) <= N) { ++cnt; ++i; } return cnt; } int main() { long long int N = 100000; // function call to print required answer cout << SquareCube(N); return 0; }
Java
// Java implementation of the above approach public class GFG{ // Function to return required count static int SquareCube(long N) { int cnt = 0, i = 1; while ((int)(Math.pow(i, 6)) <= N) { ++cnt; ++i; } return cnt; } public static void main(String []args) { long N = 100000; // function call to print required answer System.out.println(SquareCube(N)) ; } // This code is contributed by Ryuga }
Python3
# Python3 implementation of the # above approach # Function to return required count def SquareCube( N): cnt, i = 0, 1 while (i ** 6 <= N): cnt += 1 i += 1 return cnt # Driver code N = 100000 # function call to print required # answer print(SquareCube(N)) # This code is contributed # by saurabh_shukla
C#
// C# implementation of the above approach using System; public class GFG{ // Function to return required count static int SquareCube(long N) { int cnt = 0, i = 1; while ((int)(Math.Pow(i, 6)) <= N) { ++cnt; ++i; } return cnt; } public static void Main() { long N = 100000; // function call to print required answer Console.WriteLine(SquareCube(N)) ; } } /*This code is contributed by 29AjayKumar*/
PHP
<?php // PHP implementation of the // above approach // Function to return required count function SquareCube($N) { $cnt = 0; $i = 1; while ((pow($i, 6)) <= $N) { ++$cnt; ++$i; } return $cnt; } // Driver Code $N = 100000; // function call to print required answer echo SquareCube($N); // This code is contributed by ita_c ?>
Javascript
<script> // JavaScript implementation of the above approach // Function to return required count function SquareCube(N) { let cnt = 0, i = 1; while (Math.floor(Math.pow(i, 6)) <= N) { ++cnt; ++i; } return cnt; } let N = 100000; // function call to print required answer document.write(SquareCube(N)); // This code is contributed by Surbhi Tyagi. </script>
6
Complejidad de tiempo: O(N 1/6 )
Espacio Auxiliar: O(1), ya que no se ha ocupado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por Sanjit_Prasad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA