剑指offer--算法题--10--斐波那契数列与跳台阶

本文探讨了斐波那契数列及其在实际问题中的应用——跳台阶问题。通过递推公式实现了斐波那契数列的计算,并以此解决了一只青蛙跳上n级台阶的不同跳跃方式总数的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


题目描述:

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下:

输入:

输入可能包含多个测试样例,对于每个测试案例,

输入包括一个整数n(1<=n<=70)。

输出:

对应每个测试案例,

输出第n项斐波那契数列的值。

样例输入:
3
样例输出:
2

跳台阶

题目描述 
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路: f(1) = 1, f(2) = 2, f(n) = f(n - 1) + f(n - 2)

package jzoffer;

import java.util.Scanner;

public class SolutionFibonacci {
	public static void main(String[] args) {
		System.out.println("你想查找数列的第几项:");
		Scanner sc1 = new Scanner(System.in);
		long a = sc1.nextInt();
		System.out.println(Fibonacci(a));
		System.out.println("你有多少级台阶:");
		Scanner sc2 = new Scanner(System.in);
		long b = sc2.nextInt();
		System.out.println(JumpFloor(b));
	}
	public static int Fibonacci(long n){
		int former = 0;
		int latter = 1;
		if(n == 0) return 0;
		if(n == 1) return 1;
		for(int i =2;i<=n;i++){
			latter += former;
			former = latter -former;
		}
		return latter;
	}
	public static int JumpFloor(long target) { //跳台阶也是个数列问题
        int former = 1;
        int latter = 2;
        if (target == 0) return 0;
        if (target == 1) return 1;
        if (target == 2) return 2;
        for (int i = 3; i <= target; i ++) {
            latter += former;
            former = latter - former;
        }
        return latter;
    }
}


内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值