首页 > 其他分享 >递归例题+练习

递归例题+练习

时间:2024-04-01 12:58:33浏览次数:153  
标签:输出 数列 递归 int 练习 佩尔 斐波 那契 例题

例题2 斐波那契数列

时间限制:1s

内存限制:128M

 题目描述

斐波那契数列是一个有特殊规律的数列,它的前两项都是 1,从第 3 项开始,该项等于前两项数字之和。现在请你输出斐波那契的第 n 项。

【输入格式】

输入共 1 行:
第 1 行,1 个正整数 n。

【输出格式】

输出共 1 行:
第 1 行,输出斐波那契的第 n 项。

#include <iostream>
using namespace std;

int fib(int i)
{
	if(i <= 0) return 0;
	if(i == 1 || i == 2) return 1;
	return fib(i - 2) + fib(i - 1);
}

int main()
{
	int n;
	cin >> n;
	cout << fib(n) << endl;
    return 0;
}

练习:佩尔数列

时间限制:1s 内存限制:128M

 题目描述

佩尔数列是一个自古以来就知道的整数数列,由递推关系定义。它出现在 2 的算术平方根的近似值以及三角平方数的定义中,也出现在一些组合数学的问题中。
佩尔数的数列从 0 和 1 开始,以后每一个佩尔数都是前面的数的两倍加上再前面的数。最初几个佩尔数是:0, 1, 2, 5, 12, 29, 70, 169, 408, 985, 2378
例:
2 = 2 * 1 + 0
5 = 2 * 2 + 1
12 = 2 * 5 + 2
......

【输入格式】

一个整数 n。

【输出格式】

一个整数,佩尔数列的第 n 项。

#include <iostream>
using namespace std;

int f(int i)
{
	if(i <= 1) return 0;
	if(i == 2) return 1;
	return f(i - 2) + 2 * f(i - 1);
}

int main()
{
	int n;
	cin >> n;
	cout << f(n) << endl;
	return 0;
}

标签:输出,数列,递归,int,练习,佩尔,斐波,那契,例题
From: https://blog.csdn.net/2301_76841790/article/details/137228579

相关文章

  • 压缩图片的递归方法
    authJob(n){if(n<=0){return}else{this.rpc.load.authJob(this.fileList[n-1].raw).then((res)=>{this.outerFileList.push(res)if(n-1==0){......
  • c语言例题,计算字符串长度,递归思想
    c语言中,计算字符串长度算是一个比较经典的题了,而今天我们运用两种不同的求解方法来写出不同的程序来实现计算字符串的功能。主函数 先看到主函数,主函数中设置了一串7个字符的字符串,而后面接下来定义了两个变量len1和len2,同时分别打印len1和len2,当然,打印的这两个变量其实就......
  • 2024年春季学期《算法分析与设计》练习5
    问题A:随机数题目描述有一个rand(n)的函数,它的作用是产生一个在[0,n)的随机整数。现在有另外一个函数,它的代码如下:intrandom(intn,intm){        returnrand(n)+m;}显而易见的是函数random(n,m)可以产生任意范围的随机数。现在问题来了,如果我想要......
  • 【每周例题】力扣 C++ 二叉树的最小深度
    二叉树的最小深度题目二叉树的最小深度题目分析1.首先我们可以处理最小深度为0与最小深度为1的情况:最小深度为0:头结点为空;root==nullptr最小深度为1:root->left==nullptr&&root->right==nullptr2.接下来分为左右子树处理,我们可以用递归来计算最小深度3.最后比较左......
  • 【每周例题】力扣 C++ 搜索插入位置
    搜索插入位置题目搜索插入位置 题目分析1.第一个想法肯定是暴力遍历,找到了就输出下标,找不到就对比前后两个数字,寻找合适的位置插入。2.需要注意一点,我们需要再一开始就对比target与数组最后一个数的大小,如果比数组最后一个数大,直接返回数组长度3.第二个想法就是缩短寻找的......
  • web前端之页面逐渐呈现代码功能、对象数据如何获取下一个值、创建元素并添加id与类名
    MENU前言style(全部代码)JavaScript(核心代码)html(基本代码)前言1、效果演示以视频为准,暂未录视频(敬请期待);2、私信或微信可获取完整代码(WX:MJ682517)style(全部代码)*{margin:0;padding:0;box-sizing:border-box;}::-webkit-scrol......
  • 练习3-2 计算符号函数的值
    对于任一整数n,符号函数sign(n)的定义如下:请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n)=函数值”输出该整数n对应的函数值。输入样例1:10输出样例1:sign(10)=1输入样例2:0输出样例2......
  • 20240331_搜索练习
    目录P3206DungeonMasterP3207LakeCountingP3208TheCastleP896仙岛求药P429【基础】走迷宫P2465迷宫问题P952【入门】算24点P3206DungeonMaster这题是一个三维迷宫,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次......
  • 00342第四章 结构化程序设计 思考题和练习题(C语言)
    一、单项选择题1.若从键盘输入字符串"HOWAREYOU?",可以直接使用库函数【】。        A.scanf    B.getstr    C.gets    D.都不能直接使用2.C语言的库函数中,可以输出double型变量值的是【】。        A.getchar   ......
  • 算法---动态规划练习-9(粉刷房子)
    题目1.题目解析2.讲解算法原理3.编写代码1.题目解析题目地址:点这里2.讲解算法原理创建dp表:vector<vector>dp(n,vector(3))。这里创建了一个二维向量dp,其中dp[i][j]表示第i天选择颜色j的最小成本。初始化第一天的成本:for(inti=0;i<3;i++)......