杭电acm2018 母牛的故事 Java解法 经典递归

时间:2024-05-06 07:12:02

标准递归题

先模拟 接着找递归出口 再找递归通式 

想想看

今天的母牛等于前一天的母牛数加上今天出生的母牛

而三天前的母牛所有母牛都能生一头

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        long i;
        while((i= sc.nextInt())!=0){
            System.out.println(rec(i));
        }
    }
    public static int rec(long i){
        
        //递归出口
        if(i==1)return 1;
        if(i==2)return 2;
        if(i==3)return 3;
        if(i==4)return 4;
        
        //递归关系式
        return rec(i-1)+rec(i-3);
    }
}