蓝桥杯 Java B 组 - 第七天:周总结与模拟题练习
Day 7:周总结与模拟题练习
在这一周的学习中,我们已经接触了动态规划的基本概念和常见应用。今天,我们将通过刷一些蓝桥杯的模拟题,来熟悉并巩固所学的知识,特别是动态规划的问题。
一、模拟题:Fibonacci数列求余
题目描述:
给定正整数 n,求斐波那契数列的第 n 项,并计算其对一个数 m 的余数。即:
f(n)f(n) % m
例如:
- 输入 n=10,m=100
- 输出:f(10) % 100 的结果。
解题思路:
斐波那契数列:斐波那契数列是一个经典的递归问题,其递推关系是:
- f(n)=f(n−1)+f(n−2)f(n) = f(n-1) + f(n-2)
其中,f(0) = 0,f(1) = 1。
需要注意的是,题目要求计算 f(n) % m,而不直接求 f(n)。所以在计算每个斐波那契数时,我们可以提前取余,这样可以防止数值过大,避免溢出。