使用C++找到Pell数

使用c++找到pell数

在给定的问题中,我们得到一个整数 n,我们需要找到 Pn,即该位置的咒语编号。现在,正如我们所知,拼写数是由以下公式给出的序列的一部分 -Pn = 2*Pn-1 + Pn-2

前两个起始数字 – P0 = 0 和 P1 = 1

查找方法解决方案

现在我们将通过两种方法来解决这个问题:递归和迭代。

递归方法

在这个公式中,我们将递归地应用公式Pell Number 并进行 n 次迭代。

立即学习“C++免费学习笔记(深入)”;

示例

#include using namespace std;int pell(int n) {   if(n 

输出

70

登录后复制

上述代码的解释

在这种方法中,我们通过调用 pell(n-1) && pell(n-2) 来使用递归,直到 n 小于或等于 2,因为我们知道直到 2 的拼写数字与给定数字相同。上述程序的总体时间复杂度为O(N),其中N是给定的数字。

迭代方法

在这种方法中,我们将使用与上面相同的公式,但使用 for 循环而不是递归函数来计算数字。

示例

#include using namespace std;int main() {   int n = 6; // given n.   int p0 = 0; // initial value of pn-2.   int p1 = 1; // initial value of pn-1.   int pn; // our answer.   if(n 

输出

70

登录后复制

上述代码的解释

在给定的程序中,我们从 2 遍历到 n,并简单地将 pn-2 的值更新为 pn-1,将 pn-1 的值更新为 pn,直到达到 n .

结论

在本文中,我们使用递归和迭代解决了查找第 N 个咒语编号的问题。我们还学习了解决这个问题的C++程序以及解决这个问题的完整方法(正常且高效)。我们可以用其他语言编写相同的程序,例如C、java、python等语言。

以上就是使用C++找到Pell数的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2584859.html

(0)
上一篇 2025年3月6日 14:54:27
下一篇 2025年3月6日 14:54:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在C语言中,是否可以在main()函数中传递参数?

    是的,我们可以在 main() 函数中给出参数。 C 中的命令行参数在系统命令行中的程序名称之后指定,这些参数值将传递给程序执行期间的程序。 argc 和 argv 是可以传递给 main 函数的两个参数。 但是当您从终端运行程序时,mai…

    2025年3月6日
    200
  • 使用C++反转一个双向链表

    在本文中,我们有一个双向链表,我们将解释在 C++ 中反转双向链表的不同方法。例如 – Input : {1, 2, 3, 4}Output : {4, 3, 2, 1} 登录后复制 通常会想到一种方法,但我们将使用两种方法 &…

    2025年3月6日
    200
  • C令牌是什么?

    这个C程序是一系列指令,每个指令都是一系列个体单元的集合。 C程序中的每个小个体单元通常被称为令牌,C程序中的每个指令都是令牌的集合。 令牌用于构建C程序,它们也被称为C程序的基本构建块。 在C程序中,令牌包含以下内容: 关键字标识符运算符…

    2025年3月6日
    200
  • 在C语言中,隐式返回类型为int

    如果某个函数没有返回类型,则返回类型将默认为int。如果没有指定返回类型,则不会产生任何错误。然而,即使返回类型是int,C99版本也不允许省略返回类型。 示例 #includemy_function(int x) {   return x…

    2025年3月6日
    200
  • 在C语言中,while(1)和while(0)之间的区别是什么?

    我们知道在C语言中,’while’关键字用于定义一个循环,该循环根据传递给循环的条件来工作。现在,由于条件可以有两个值,即真或假,所以如果条件为真,则while块内的代码将被重复执行,如果条件为假,则代码将不会被执行…

    2025年3月6日
    200
  • C语言中的多行宏

    In this section we will see, how can write multiline macros in C. We can write multiline macros like functions, but for …

    2025年3月6日
    200
  • 在C++中的可重构数

    给定一个整数类型的值,假设为number。任务是检查给定的数字是否可重构。如果是,打印该数字是可重构数字,否则打印不可能。 什么是可重构数字? 当一个数字可以被其可用因子的总数整除时,它就是可重构的。例如,数字9是可重构的,因为它有3个因子…

    2025年3月6日
    200
  • 计算菱形的面积和周长的程序,已知对角线是什么?在C++中,什么是菱形?

    什么是菱形? 在几何学中,菱形是四个边长相同的四边形。菱形与形状菱形相似。如果菱形的对角线成直角,那么它就变成正方形。 菱形的性质是 – 边相等对边平行,对角相等,是平行四边形对角线平分直角 下图是菱形 立即学习“C++免费学习…

    2025年3月6日
    200
  • 使用C++编写,找到子数组中的质数数量

    在本文中,我们将描述查找子数组中素数数量的方法。我们有一个正数数组 arr[] 和 q 个查询,其中有两个整数表示我们的范围 {l, R},我们需要找到给定范围内的素数数量。下面是给定问题的示例 – Input : arr[] …

    2025年3月6日
    200
  • C/C++程序中的数组

    数组是一组固定数量的相同数据类型的项目。这些元素存储在内存中的连续内存位置中。 可以使用方括号“[]”和数组名称像a[4]、a[3]等从其索引值访问值的每个单个元素。 声明数组 在c/c++编程语言中,通过定义数组的类型和长度(元素数量)来…

    2025年3月6日
    200

发表回复

登录后才能评论