Dado un entero n, encuentre el n-ésimo número pentagonal. Los primeros tres números pentagonales son 1, 5 y 12 (consulte el diagrama a continuación).
El enésimo número pentagonal P n es el número de puntos distintos en un patrón de puntos que consta de los contornos de pentágonos regulares con lados de hasta n puntos cuando los pentágonos se superponen para que compartan un vértice [Fuente Wiki ]
Ejemplos:
Input: n = 1 Output: 1 Input: n = 2 Output: 5 Input: n = 3 Output: 12
En general, un número poligonal (número triangular, número cuadrado, etc.) es un número representado como puntos o guijarros dispuestos en forma de polígono regular. Los primeros números pentagonales son: 1, 5, 12, etc.
Si s es el número de lados de un polígono, la fórmula para el enésimo número s-gonal P (s, n) es
nth s-gonal number P(s, n) = (s - 2)n(n-1)/2 + n If we put s = 5, we get n'th Pentagonal number Pn = 3*n*(n-1)/2 + n
Ejemplos:
número pentagonal
A continuación se muestran las implementaciones de la idea anterior en diferentes lenguajes de programación.
C++
// C++ program for above approach #include<bits/stdc++.h> using namespace std; // Finding the nth pentagonal number int pentagonalNum(int n) { return (3 * n * n - n) / 2; } // Driver code int main() { int n = 10; cout << "10th Pentagonal Number is = " << pentagonalNum(n); return 0; } // This code is contributed by Code_Mech
C
// C program for above approach #include <stdio.h> #include <stdlib.h> // Finding the nth Pentagonal Number int pentagonalNum(int n) { return (3*n*n - n)/2; } // Driver program to test above function int main() { int n = 10; printf("10th Pentagonal Number is = %d \n \n", pentagonalNum(n)); return 0; }
Java
// Java program for above approach class Pentagonal { int pentagonalNum(int n) { return (3*n*n - n)/2; } } public class GeeksCode { public static void main(String[] args) { Pentagonal obj = new Pentagonal(); int n = 10; System.out.printf("10th petagonal number is = " + obj.pentagonalNum(n)); } }
Python3
# Python program for finding pentagonal numbers def pentagonalNum( n ): return (3*n*n - n)/2 #Script Begins n = 10 print ("10th Pentagonal Number is = ", pentagonalNum(n)) #Scripts Ends
C#
// C# program for above approach using System; class GFG { static int pentagonalNum(int n) { return (3 * n * n - n) / 2; } public static void Main() { int n = 10; Console.WriteLine("10th petagonal" + " number is = " + pentagonalNum(n)); } } // This code is contributed by vt_m.
PHP
<?php // PHP program for above approach // Finding the nth Pentagonal Number function pentagonalNum($n) { return (3 * $n * $n - $n) / 2; } // Driver Code $n = 10; echo "10th Pentagonal Number is = ", pentagonalNum($n); // This code is contributed by ajit ?>
Javascript
<script> // Javascript program for above approach function pentagonalNum(n) { return (3 * n * n - n) / 2; } // Driver code to test above methods let n = 10; document.write("10th petagonal" + " number is = " + pentagonalNum(n)); // This code is contributed by avijitmondal1998. </script>
Producción :
10th Pentagonal Number is = 145
Complejidad de tiempo: O(1)
Espacio auxiliar: O(1)
Referencia:
https://en.wikipedia.org/wiki/Polygonal_number
Este artículo es una contribución de Mazhar Imam Khan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA