程式利用 C++ 檢查 N 是否是五邊數
有一個數字 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; // check N is pentagonal or not. 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
廣告