七边形数

a heptagonal number is a number which can be represented as a heptagon. a heptagon is a polygon with 7 sides. a heptagonal number can be represented as a combination of successive layers of heptagon( 7-sided polygon). heptagonal number can be better explained with the below figures.

七边形数

第一个七边形数是1。因此,它可以用一个小点表示。

七边形数

第二个七边形数是7,可以用一个七边形表示。

七边形数

第三个七边形数是18,可以用一个七边形表示,并与一个连续的七边形层结合。

七边形数

第四个七边形数是34。它可以用上面所示的方式表示为一个七边形加上两个连续的七边形层,得到34。

类似的概念将用于进一步的七边形数。按照相同的逻辑,前几个七边形数为1、7、18、34、55、81、112、148、189、235、286、342、403……

在这个问题中,我们的任务是给定任意正数N作为输入,并将第N个七边形数打印为输出。

例如,

INPUT : N=6

输出 : 81

INPUT : N=9

输出:189

现在让我们来看一下我们将用来解决这个问题的算法。

算法

要解决这个问题,我们需要看到计算第n个七边形数所遵循的模式。第n个七边形数可以表示为−

$$Heptagonal_{n}:=:frac{n}{2}(5n:-:3)$$

如果我们仔细观察这个表达式,每个七边形数都具有以下形式

$frac{n}{2}(5n:-:3)$,其中n表示七边形数的数量。

让我们通过示例更好地理解它。

对于n=1,$frac{1}{2}(5:times:1:-:3)$= 1,这是第一个七边形数。

对于n=2,$frac{2}{2}(5:times:2:-:3)$= 7,这是第二个七边形数。

当n=3时,$frac{3}{2}(5:times:3:-:3)$= 18,这是第三个七边形数。

现在,让我们检查n=8的情况。$frac{8}{2}(5:times:8:-:3)$得到的结果是148,实际上是七角数序列中的第八个七角数。

由于我们可以使用上述表达式得到任何第n个七边形数,所以在我们的方法中,我们将使用这个表达式来计算第n个七边形数,其中n可以是任何正数。

方法

我们将按照以下步骤进行说明:

将任意正数N作为输入,计算对应的七边形数值N。

初始化一个函数来计算第N个七边形数。

使用算法部分提到的表达式,即$frac{N}{2}(5N:-:3)$,计算第N个七边形数并将其存储在任意变量中。

返回我们存储的变量,该变量将是与任何正值N对应的第N个七边形数的值。

注意 − 我们将使用浮点数据类型而不是整数数据类型,以避免在使用上述公式计算第N个七边形数时出现由于小数值而导致的任何错误。

Example

的中文翻译为:

示例

在C++中实现该方法 −

#include #include using namespace std;//function to calculate nth heptagonal number using formula n/2(5n-3)float heptagonal(float N){   float ans= (N/2)*((5*N) - 3); //to store nth heptagonal number   return ans;}int main(){   float N=5; //input   float a=heptagonal(N); //store the answer in a variable   N=13;   float b=heptagonal(N);   cout<<a<<endl<<b<<endl; //print the answer   return 0;}

Output

55403

时间复杂度:O(1),因为只需常数时间。

空间复杂度:O(1),因为没有使用额外的空间。

结论

我们尝试学习了七边形数的概念以及我们在方法中使用的计算第n个七边形数的公式。

我希望您能发现这篇文章对于学习打印任意用户输入的第n个七边形数的概念有所帮助。

以上就是七边形数的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 22:43:55
下一篇 2025年12月11日 01:37:05

相关推荐

  • 小于n的立方数自由数

    无立方因子的数是指那些没有立方数作为因子的数。 立方数因子是指一个整数,它是一个立方数并且能够整除该数而没有余数。 例如,8是16的立方数因子,因为8是2的立方数(2*2*2 = 8),并且8除以16的余数为零。 因此,8和16都不是无立方数。 问题陈述 找出所有小于给定数字n的无立方数。 Exam…

    2025年12月17日
    000
  • 在C语言中,fork()函数

    在本节中,我们将了解C语言中的fork系统调用。这个fork系统调用用于创建一个新的进程。这个新创建的进程被称为子进程。创建另一个子进程的当前进程被称为父进程。 子进程使用相同的程序计数器、CPU寄存器和父进程使用的相同文件。 fork()函数不接受任何参数,它返回整数值。它可能返回三种类型的整数值…

    2025年12月17日
    000
  • 找到在将一个二进制字符串清空(通过移除非空子字符串)后,0的数量最少的玩家

    在本文中,我们将讨论一个有趣的问题,涉及到字符串操作和博弈论领域:“通过删除非空子字符串来清空二进制字符串,找到剩余0最少的玩家”。这个问题探索了使用二进制字符串进行竞技游戏的概念。我们的目标是在游戏结束后找出剩余0最少的玩家。我们将讨论这个问题,提供一个C++代码实现,并通过一个例子来解释这个概念…

    2025年12月17日
    000
  • 在C++中,将以下内容翻译为中文:寻找长度和宽度之间差异最小的矩形

    给定一个矩形区域作为输入。目标是找到矩形的边,使长度和宽度之间的差异最小。 矩形的面积 = 长度 * 宽度。 示例 输入− 面积 = 100 输出− 差异最小的矩形边: 长度 = 10,宽度 = 10 立即学习“C++免费学习笔记(深入)”; 解释− 面积 = 100 的边。 2 – 5…

    2025年12月17日
    000
  • 盗贼跨越墙壁所需的跳跃次数

    想象一下一个囚犯(或小偷)想要从监狱逃脱。为了做到这一点,他需要越过 N 个长度不同的墙。他每次跳跃可以爬升 X 英尺。但是,由于墙壁很滑,他每次跳跃后会下滑 Y 英尺。因此,我们需要计算穿越所有墙壁所需的跳跃次数。在本文中,我们将探讨不同的C++技术,以找到逃脱监狱所需的跳跃次数。 输入输出场景 …

    2025年12月17日
    000
  • C中的空指针

    C 中的 void 指针是不与任何数据类型关联的指针。它指向存储中的某个数据位置,意味着指向变量的地址。它也称为通用指针。在 C 语言中,malloc() 和 calloc() 函数返回 void * 或通用指针。 它有一些限制 – 1) 由于 void 指针的原因,指针运算不可能使用 …

    2025年12月17日
    000
  • 加密字符串

    加密是一种通过使用某些技术或某些步骤来更改数据的技术,使其更改为另一种信息或无法直接从中收集到先前的信息。对于加密,我们必须遵循针对特定加密类型固定的某些步骤。 在这个问题中,我们将得到一个字符串,我们必须按照给定的步骤对其进行加密 – 首先,我们必须获取包含相同字符的所有子字符串,并将…

    2025年12月17日
    000
  • 二叉堆的数组表示

    遵循堆排序属性的完全二叉树称为二叉堆。 根据二叉堆的排序方式,它可以分为两种类型: 最小堆是节点的值大于或等于其父节点的值的堆。最小堆的根节点最小。 最大堆是节点的值小于或等于其父节点的值的堆。最大堆的根节点最大。 二叉堆的值通常表示为一个数组。二叉堆的数组表示如下: 根元素的索引为0。 如果i是数…

    2025年12月17日
    000
  • 可憎的数字

    如果一个数字在其二进制展开中有奇数个1,则被认为是奇异数。前10个奇异数是1,2,4,7,10,11,13,14,16,19,21。有趣的是,所有2的幂都是奇异数,因为它们只有1个位被设置。 下面的文章详细讨论了两种判断一个数字是否为可恶数字的方法。 问题陈述 这个问题的目的是检查给定的数字是否是一…

    2025年12月17日
    000
  • 检查是否可能从原点到达给定圆的周长上的任意点

    圆的周长可以定义为圆的外边界。它是圆的周长。圆周围的每个点都遵循某些属性,如下所示 – 点 (x,y) 位于圆内,使得 $mathrm{x^2 + y^2 点 (x,y) 位于圆上,使得 $mathrm{x^2 + y^2 = R^2}$ 点 (x,y) 位于圆外,使得 $mathrm{…

    2025年12月17日
    000
  • 使用C++编写一个找到数字的程序,其数字的各位数之和为偶数的程序

    能被2整除的整数是偶数。因此在本文中,我们给定了一个数n,我们需要找到第n个数字,其数字之和为偶数。前五个数字的数字之和为偶数的数分别是2、4、6、8和11。例如 − Input : n = 5Output : 11Explanation : First 5 numbers with even su…

    2025年12月17日
    000
  • 在C和C++中的未定义行为

    在这里,我们将看到一些C和C++代码,并尝试猜测结果。这些代码将生成一些运行时错误。 1. 除以零的错误是未定义的。 示例代码 #include using namespace std;int main() { int x = 10, y = 0; int z = x / y; cout <&…

    2025年12月17日
    000
  • C语言中的数组

    数组是连续内存位置上相同类型元素的集合。最低地址对应于第一个元素,最高地址对应于最后一个元素。 数组索引以零 (0) 开始,以数组大小减一(数组大小 – 1)结束。数组大小必须是大于零的整数。 让我们看一个例子, If array size = 10First index of arra…

    2025年12月17日
    000
  • 有害数

    如果数字是正整数并且其二进制展开中的设置位数是素数,则该数字被认为是有害的。第一个有害数字是 3,因为 3 = (11)2。可以看出3的二进制表示的设定位数为2,是一个素数。 前10个有害数字是3、5、6、7、9、10、11、12、13、14。有趣的是,2的幂永远不可能是有害数字,因为它们总是只有1…

    2025年12月17日
    000
  • .NET控制台应用程序开发:不仅仅是“Hello World”

    现代.NET控制台程序可处理文件、调用API、读取配置、执行定时任务,支持命令行参数解析、配置文件管理、日志记录与外部服务调用,结合合理结构可成为高效工具。 很多人接触 .NET 的第一行代码都是从控制台程序的 “Hello World” 开始的。这确实是个不错的起点,但如果…

    2025年12月17日
    000
  • .NET怎么在程序中执行一个外部exe文件

    使用System.Diagnostics.Process类可执行外部exe文件,通过Process.Start启动进程,支持简单调用和ProcessStartInfo配置参数、工作目录、窗口行为及输出重定向,需注意路径、权限和异常处理。 在 .NET 程序中执行外部 exe 文件,最常用的方式是使用…

    2025年12月17日
    000
  • .NET怎么将一个整数转换为十六进制字符串

    在.NET中,使用ToString(“X”)可将整数转为大写十六进制字符串,如255转为”FF”;用ToString(“x”)则转为小写,如”ff”;可通过拼接添加”0x”前缀,如…

    2025年12月17日
    000
  • .NET怎么通过反射获取对象的属性和方法

    答案:在.NET中,通过反射可动态获取类型信息并操作对象成员。使用GetType()或typeof()获取Type对象,调用GetProperties()遍历属性并用GetValue/SetValue读写值,通过GetMethods()获取方法并用Invoke执行,支持参数传递;需注意性能开销及默认…

    2025年12月17日
    000
  • .NET Web API如何使用Swagger生成API文档

    在 .NET Web API 中集成 Swagger 可自动生成可交互的 API 文档。首先通过 NuGet 安装 Swashbuckle.AspNetCore 包,然后在 Program.cs 中添加 AddEndpointsApiExplorer() 和 AddSwaggerGen() 服务,并…

    2025年12月17日
    000
  • .NET的AssemblyFileVersionAttribute类的作用是什么?

    AssemblyFileVersionAttribute用于指定程序集的文件版本,主要在文件系统中显示,不影响运行时;而AssemblyVersionAttribute定义程序集的逻辑版本,影响运行时加载和绑定,二者可独立设置,常用于区分发布版本与内部构建。 AssemblyFileVersionA…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信