程序检查N是否为C ++中的五角数
给定数字N,任务是检查数字是否为五角形。可以排列成五边形的数字是五边形数字,因为这些数字可以用作形成五边形的点。例如,一些五角数是1、5、12、22、35、51...。
我们可以使用公式来检查数字是否为五角形
$$p(n)=\frac{\text{3}*n^2-n}{\text{2}}$$
其中,n是五边形将具有的点数
示例
Input-: n=22 Output-: 22 is pentagonal number Input-: n=23 Output-: 23 is not a pentagonal number
算法
Start
Step 1 -> declare function to Check N is pentagonal or not
bool check(int n)
declare variables as int i = 1, a
do
set a = (3*i*i - i)/2
set i += 1
while ( a < n );
return (a == n);
Step 2 -> In main() Declare int n = 22
If (check(n))
Print is pentagonal
End
Else
Print it is not pentagonal
End
Stop示例
#include <iostream>
using namespace std;
//检查N是否为五边形。
bool check(int n){
int i = 1, a;
do{
a = (3*i*i - i)/2;
i += 1;
}
while ( a < n );
return (a == n);
}
int main(){
int n = 22;
if (check(n))
cout << n << " is pentagonal " << endl;
else
cout << n << " is not pentagonal" << endl;
return 0;
}输出结果
22 is pentagonal