C++ 程序实现中心九边形数

2025 年 3 月 24 日 | 4 分钟阅读

在本文中,我们将讨论一个用于计算中心九边形数的 C++ 程序。但在开始实现之前,我们必须了解 C++ 中的中心九边形数。

什么是中心九边形数?

一个表示中心九边形中有多少个点的数被称为中心九边形数。它是通过公式 "(3 * num - 2) * (3 * num - 1) / 2" 生成的一系列整数的一部分,其中 'num' 是一个非负整数。

示例 1

让我们举一个例子来说明 C++ 中的中心九边形数

输出

Enter the value of num to calculate the centered nonagonal number: 11
The centered nonagonal number for num = 10 is: 496

说明

此程序创建了一个名为 centeredNonagonalNumber 的函数,该函数接收一个整数 'num' 作为输入,并使用公式 "(3 * num - 2) * (3 * num - 1) / 2" 返回第 n 个中心九边形数。主函数随后计算相应的中心九边形数,然后要求用户输入 'num' 的值并显示其结果。

算法

  1. 首先,将数字 'p' 作为输入。
  2. 使用循环从 num = 1 到 num = 'p' 进行迭代。
  3. 在循环内使用公式 ((3 * num) - 2) * ((3 * num) - 1)) / 2 确定中心九边形数。
  4. 将显示计算出的中心九边形数。
  5. 对从 1 到 num 的所有 'p' 值重复步骤 3-4。

示例 2

让我们再举一个例子来说明 C++ 中的中心九边形数

输出

Enter the value of p: 13
The Centered Nonagonal Numbers from num = 1 to num = 13:
num = 1: 1
num = 2: 10
num = 3: 28
num = 4: 55
num = 5: 91
num = 6: 136
num = 7: 190
num = 8: 253
num = 9: 325
num = 10: 406
num = 11: 496
num = 12: 595
num = 13: 703

说明

此程序提示用户提供 'p' 的值以计算中心九边形数。计算并打印从 num=1 到 num=p 的中心九边形数。如果用户输入非正整数作为 'p',程序会提醒用户提供一个正整数。如果用户输入非正整数作为 'p',程序会提示他们输入一个正整数。

应用

中心九边形数在许多数学背景下都有应用,包括:

  1. 模式生成和分析。
  2. 使用九边形形状进行几何计算。
  3. 算法设计,尤其是在处理多边形数时。
  4. 数论和密码学。

复杂度分析

时间复杂度

提供的代码具有 O(n) 的时间复杂度,其中 n 是输入值。这是因为该算法使用一个迭代循环(运行 n 次)来计算和显示计算出的标称数。

空间复杂度

在 C++ 中,计算中心九边形数的空间复杂度为 O(1)。这是因为程序使用的内存量与输入大小无关。