给定数字N ,任务是检查数字是否为三角角数字。
A Triacontagonal number is a class of figurate number. It has 30 – sided polygon called triacontagon. The N-th triacontagonal number count’s the 30 number of dots and all other dots are surrounding with a common sharing corner and make a pattern. The first few triacontagonol numbers are 1, 30, 87, 172 …
例子:
Input: N = 30
Output: Yes
Explanation:
Second triacontagonal number is 30.
Input: 32
Output: No
方法:
- 三角对角数的第K个项为:
- 因为我们必须检查给定的数字是否可以表示为三角八角形数字。可以检查如下:
=>
=>
- 最后,检查使用此公式计算的值是否为整数,这意味着N为三对角线数。
下面是上述方法的实现:
C++
// C++ program to check whether a
// number is an triacontagonal
// number or not
#include
using namespace std;
// Function to check whether a
// number is an triacontagonal
// number or not
bool istriacontagonal(int N)
{
float n
= (26 + sqrt(224 * N + 676))
/ 56;
// Condition to check whether a
// number is an triacontagonal
// number or not
return (n - (int)n) == 0;
}
// Driver Code
int main()
{
// Given number
int i = 30;
// Function call
if (istriacontagonal(i)) {
cout << "Yes";
}
else {
cout << "No";
}
return 0;
}
Java
// Java program to check whether a
// number is an triacontagonal
// number or not
class GFG{
// Function to check whether a
// number is an triacontagonal
// number or not
static boolean istriacontagonal(int N)
{
float n = (float) ((26 + Math.sqrt(224 * N +
676)) / 56);
// Condition to check whether a
// number is an triacontagonal
// number or not
return (n - (int)n) == 0;
}
// Driver code
public static void main(String[] args)
{
// Given number
int N = 30;
// Function call
if (istriacontagonal(N))
{
System.out.print("Yes");
}
else
{
System.out.print("No");
}
}
}
// This code is contributed by shubham
Python3
# Python3 program to check whether a
# number is an triacontagonal
# number or not
import math;
# Function to check whether a
# number is an triacontagonal
# number or not
def istriacontagonal(N):
n = (26 + math.sqrt(224 * N + 676)) // 56;
# Condition to check whether a
# number is an triacontagonal
# number or not
return (n - int(n)) == 0;
# Driver Code
# Given number
i = 30;
# Function call
if (istriacontagonal(i)):
print("Yes");
else:
print("No");
# This code is contributed by Code_Mech
C#
// C# program to check whether a
// number is an triacontagonal
// number or not
using System;
class GFG{
// Function to check whether a
// number is an triacontagonal
// number or not
static bool istriacontagonal(int N)
{
float n = (float)((26 + Math.Sqrt(224 * N +
676)) / 56);
// Condition to check whether a
// number is an triacontagonal
// number or not
return (n - (int)n) == 0;
}
// Driver code
public static void Main(String[] args)
{
// Given number
int N = 30;
// Function call
if (istriacontagonal(N))
{
Console.Write("Yes");
}
else
{
Console.Write("No");
}
}
}
// This code is contributed by sapnasingh4991
Javascript
输出:
是的
是的