C++ 星形数查找程序


本问题中,我们得到一个数字 n。我们的任务是编写一个C++ 星形数查找程序

星形数是一种特殊数字,它表示一个中心六角星(六角星)。

部分星形数为 1、13、37、73、121。

让我们举个例子来理解这个问题

输入

n = 5

输出

121

解决方案方法

为找到第 n 个星形数,我们将使用公式。

让我们看看星形数的一般公式。

n = 2 -> 13 = 12 + 1 = 6(2) + 1
n = 3 -> 37 = 36 + 1 = 6(6) + 1
n = 4 -> 73 = 72 + 1 = 6(12) + 1
n = 5 -> 121 = 120 + 1 = 6(20) + 1

对于上述项,我们可以推导出第 n 项。

第 n 项 = 6(n * (n-1)) + 1。

验证它,

对于 n = 5,6(5 * 4) + 1 = 121

程序来说明我们的解决方案如何运作

示例

 实时演示

#include <iostream>
using namespace std;
int findStarNo(int n){
   int starNo = ( 6*(n*(n - 1)) + 1 );
   return starNo;
}
int main(){
   int n = 4;
   cout<<"The star number is "<<findStarNo(n);
   return 0;
}

输出

The star number is 73

更新于: 17-Sep-2020

100 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告