给定一个整数n,求第n个五边形数。前三个五边形数字是1、5和12(请参见下图)。 第n个五边形数P N 是由规则五边形的轮廓组成的点图案中的不同点的数量,当五边形重叠以共享一个顶点时,边最多为n个点[来源] 维基 ] 例如:
null
Input: n = 1Output: 1Input: n = 2Output: 5Input: n = 3Output: 12
总的来说 多边形数 (三角形数、正方形数等)是以正多边形形状排列的点或卵石表示的数字。前几个五边形数字是:1、5、12等等。 如果s是多边形中的边数,则第n个s边数P(s,n)的公式为
nth s-gonal number P(s, n) = (s - 2)n(n-1)/2 + nIf we put s = 5, we getn'th Pentagonal number Pn = 3*n*(n-1)/2 + 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 " , 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> |
输出:
10th Pentagonal Number is = 145
时间复杂性: O(1) 辅助空间: O(1) 参考: https://en.wikipedia.org/wiki/Polygonal_number 本文由 马扎尔·伊玛目·汗 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END