zoukankan      html  css  js  c++  java
  • 1递归

    package com.test;

    import java.util.Scanner;

    public class test111 {

    /**
    * @param args
    * 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
    月份: 1 2 3 4 5 6 7 8 9 10
    兔子数: 1 1 2 3 5 8 8+1+1+1+2=13 13+1+1+1+2+3=21 21+1+1+1+2+3+5=34 34+1+1+1+2+3+5+8=55
    第一个月:
    1 2 3 4 5 6 7
    1 1 1 1 1 1 1

    1 2 3 4 5 6 7
    1 1 1 1 1 1 1

    1 2 3 4 5 6 7
    1 1 2 2 2 2 2

    1 2 3 4 5 6 7
    1 1 2 3 3 3 3

    1 2 3 4 5 6 7
    1 1 2 3 5(5=3+2基础是3,加上2天前新出生的兔子2=>5) 5 5

    1 2 3 4 5 6 7
    1 1 2 3 5 8 13

    所以
    兔子的规律为数列1,1,2,3,5,8,13,21,34,55....

    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    int i=0,x = 0;
    for(int y=0;y<=1;y++){
    Scanner sc = new Scanner(System.in);
    x = sc.nextInt();
    for(i=1;i<=x;i++){
    System.out.println(fn(i));
    }
    if(x!=0){
    y=0;
    // continue;
    }else{
    // System.exit(y);
    }
    }

    }

    private static int fn(int x){
    if(x==1||x==2){
    return 1;
    }else{
    return fn(x-1)+fn(x-2);
    }
    // Integer a = new Integer();
    //a.MAX_VALUE 2147483647 min:-2147483648
    }
    /**
    * for语句的格式:
    for(<初始化>; <条件表达式>; <增量>) 语句;
    执行顺序如下:
    初始化->条件表达式->语句->增量->条件表示式->语句-增量->...->条件表达式。
    在执行的时候,初始化语句只执行一次,后续按照条件表达式进行判断,如果符合条件,则执行[语句],然后执行增量。再根据条件表示式进行判断,重复上面过程。
    */
    }

  • 相关阅读:
    钉钉 LDAP
    OpenLDAP 密码策略与审计控制
    Active Directory LDAP DingDing
    Linux kill 命令 java
    Memory Analyzer 与 Java VM 版本支持问题
    java.lang.Thread.State
    稻盛和夫 活法 人生公式
    [领导力/管理]一句话说带团队
    把某个公司git项目迁移到gitee的步骤
    Protocol Buffers  |  Google Developers
  • 原文地址:https://www.cnblogs.com/signoffrozen/p/7117344.html
Copyright © 2011-2022 走看看