Dado un número entero N , la tarea es verificar si es un número icositetragonal o no.
Número icositetragonal :
una clase de número figurado. Tiene un polígono de 24 lados llamado Icositetragon. El N-ésimo número icositetragonal cuenta el número de puntos y todos los demás puntos están rodeados por una esquina común para compartir y forman un patrón
. Los primeros números icositetragonales son 1, 24, 69, 136, 225, 336, …
Ejemplos:
Entrada: N = 24
Salida: Sí
Explicación:
El segundo número icositetragonal es 24.
Entrada: N = 30
Salida: No
Acercarse:
- El K -ésimo término del número icositetragonal se da como
- Como tenemos que comprobar que el número dado se puede expresar como un número icositetragonal o no. Esto se puede comprobar de la siguiente manera:
=>
=>
- Finalmente, verifique que el valor de calculado usando estas fórmulas sea un número entero, lo que significa que N es un número icositetragonal.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation to check that // a number is icositetragonal number or not #include <bits/stdc++.h> using namespace std; // Function to check that the // number is a icositetragonal number bool isicositetragonal(int N) { float n = (10 + sqrt(44 * N + 100)) / 22; // Condition to check if the // number is a icositetragonal number return (n - (int)n) == 0; } // Driver Code int main() { int i = 24; // Function call if (isicositetragonal(i)) { cout << "Yes"; } else { cout << "No"; } return 0; }
Java
// Java implementation to check that // a number is icositetragonal number or not class GFG{ // Function to check that the // number is a icositetragonal number static boolean isicositetragonal(int N) { float n = (float)((10 + Math.sqrt(44 * N + 100)) / 22); // Condition to check if the // number is a icositetragonal number return (n - (int)n) == 0; } // Driver Code public static void main(String[] args) { int i = 24; // Function call if (isicositetragonal(i)) { System.out.print("Yes"); } else { System.out.print("No"); } } } // This code is contributed by 29AjayKumar
Python3
# Python3 implementation to check that # a number is icositetragonal number # or not import math # Function to check that the number # is a icositetragonal number def isicositetragonal(N): n = (10 + math.sqrt(44 * N + 100)) / 22 # Condition to check if the number # is a icositetragonal number return (n - int(n)) == 0 # Driver Code i = 24 # Function call if (isicositetragonal(i)): print("Yes") else: print("No") # This code is contributed by divyamohan123
C#
// C# implementation to check that // a number is icositetragonal number or not using System; class GFG{ // Function to check that the // number is a icositetragonal number static bool isicositetragonal(int N) { float n = (float)((10 + Math.Sqrt(44 * N + 100)) / 22); // Condition to check if the // number is a icositetragonal number return (n - (int)n) == 0; } // Driver Code public static void Main() { int i = 24; // Function call if (isicositetragonal(i)) { Console.Write("Yes"); } else { Console.Write("No"); } } } // This code is contributed by Akanksha_Rai
Javascript
<script> // JavaScript implementation to check that // a number is icositetragonal number or not // Function to check that the // number is a icositetragonal number function isicositetragonal(N) { var n = (10 + Math.sqrt(44 * N + 100)) / 22; // Condition to check if the // number is a icositetragonal number return (n - parseInt(n)) == 0; } // Driver Code var i = 24; // Function call if (isicositetragonal(i)) { document.write("Yes"); } else { document.write("No"); } </script>
Producción:
Yes
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)