首页 > 其他分享 >兔子问题,斐波那契数列(for循环,数组)

兔子问题,斐波那契数列(for循环,数组)

时间:2023-03-17 10:23:51浏览次数:21  
标签:arr 数列 int 兔子 斐波 循环 数组 那契

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?    

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…

 

 

public static void 第一题() {              
int a = 1;                        //第一位为1,不参与计算,设第二位的1为int a,
int b = a + 1;                      //设第三位为int b,即a+1
int c = a + b;                      //后面的数即为前面两位数的和,则设c为a+b
for (; c < 1000; ) {                  //给数列设定范围,开始循环
c = a + b;                      //c的值为a+b
System.out.println(c);               //输出c的值
a = b;                        //输出c的值之后给a和b重新赋值
b = c;                        //a和b的值重新确定后重新参与循环计算
}
}

数组:
public static void 第1题() {
    int[] arr = new int[input.nextInt()];                //设变量数组键入
    arr[0] = 1;                            //初始第一个月的兔子数为1
    arr[1] = 1;                            //初始第二个月的兔子数为1
    for (int i = 2; i < arr.length; i++) {            //设置从第三个月开始的兔子数为i,i小于数组长度,i递增       
        arr[i] = arr[i - 1] + arr[i - 2];            //根据条件,i的值为前两个i值的和,构成循环体
    }
    for (int i = 0; i < arr.length; i++) {            //遍历数组,从下标为0开始(不加此循环,用上个for循环加前两个值输出也可以)
        System.out.println("arr[" + i + "] = " + arr[i]);    //输出语句
    }
}
输出:

8
arr[0] = 1
arr[1] = 1
arr[2] = 2
arr[3] = 3
arr[4] = 5
arr[5] = 8
arr[6] = 13
arr[7] = 21



 


 

标签:arr,数列,int,兔子,斐波,循环,数组,那契
From: https://www.cnblogs.com/Argitacos/p/17225645.html

相关文章

  • PAT Basic 1030. 完美数列
    PATBasic1030.完美数列1.题目描述:给定一个正整数数列,和正整数\(p\),设这个数列中的最大值是\(M\),最小值是\(m\),如果\(M≤mp\),则称这个数列是完美数列。现在给定......
  • P8682 [蓝桥杯 2019 省 B] 等差数列
    P8682[蓝桥杯2019省B]等差数列[蓝桥杯2019省B]等差数列题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中N......
  • template参数列表
    template的基本使用在C++笔记(3)中说明,这里去探讨一下template的一些高级用法@目录一、概念二、通式三、优劣及适用情况四、技术细节五、其他范例一、模板形参概述二、类型......
  • 斐波那切数列
     C++写的斐波那切数列 #include<iostream>#include<fstream>#include<cstdlib>/*斐波那切数列*/intmain(){ intcount=10; intx=0; inty=1; ......
  • 斐波那契数列
    原理第三个数等于前面两个数之和F(0)=0,F(1)=1,F(N)=F(N-1)+F(N-2)如:0,1,1,2,3,5,8,13代码deffib(n): c,a,b=0,0,1 whilec<n: a,b......
  • 413.等差数列划分
    等差数列划分如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7]和[3,-1,-5,-9]都是等差数列。给你一个......
  • 计算斐波那契数
    /*思路:一个问题直接求解时不好求解,如果可以将其划分成其子问题,并且子问题和原问题有相同的解法时,就可以使用递归的方式解决递归的两个条件:1.将问题划分成其子问题,要求:子问......
  • 代码随想录算法Day38 | 动态规划理论基础 ,509. 斐波那契数 ,70. 爬楼梯 ,746. 使用最
    动态规划理论基础动态规划五步曲:确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组509.斐波那契数题目链接:509.斐......
  • 【DP】LeetCode 剑指 Offer 10- I. 斐波那契数列
    题目链接剑指Offer10-I.斐波那契数列思路递推,思路可以参考剑指Offer10-II.青蛙跳台阶问题代码classSolution{publicintfib(intn){inta......
  • #yyds干货盘点# LeetCode面试题:外观数列
    1.简述:给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符......