其他分享
首页 > 其他分享> > 蓝桥杯每日一练

蓝桥杯每日一练

作者:互联网

目录

题目:[递归]母牛的故事

思路:设求第 n 年的母牛数目为f(n)。

代码实现:动态规划


题目:[递归]母牛的故事

思路:设求第 n 年的母牛数目为f(n)。

           n<=4时:第 n 年母牛总数为f(n) =  n 。

          n>4:第n 年母牛总数为第n-1年总数+第n年新出生的母牛数目。在第 n-3年 之前的母牛都会新生出母牛,每一头母牛生出一头新的小牛,则第 n -3 年有多少母牛,第n 年便会新增加多少头母牛。f(n) = f(n-1)+f(n-3)

                        

代码实现:动态规划

package day1_19;

import java.util.Scanner;
//思路:
/*
 * 创建一个数组,用来存放从1-n每天的母牛数目
 * 在循环中读取n,判断如果n==0,则退出循环
 * 不为0,则for循环,i:1-n,i<=4时,则arr[i] = i,否则为arr[i] = arr[i-1]+arr[i-3]
 * 输出
 */
public class Main1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[55];
		while(true) {
			int n = sc.nextInt();
			if(n==0) {
				break;
			}
			for(int i =1;i<=n;i++) {
				if(i<=4) {
					arr[i] = i;
				}
				else {
					arr[i] = arr[i-1]+arr[i-3];
				}
			}
			System.out.println(arr[n]);
		}
	}
}

	

	


    

    


 

标签:输出,题目,每日,蓝桥,实例,一头,数目,母牛
来源: https://blog.csdn.net/m0_58290966/article/details/122591359