第n个五边形数

给定一个整数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

例如:

五边形数

Pentagonal Number

下面是上述思想在不同编程语言中的实现。

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
喜欢就支持一下吧
点赞15 分享