【Java】动态规划---斐波那契数列

本文介绍了如何使用Java编程语言,通过动态规划方法解决斐波那契数列问题,以达到在1秒内计算第n项(n<=39)的目标。动态规划的运用确保了算法的高效性。

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

斐波那契数列(要求执行时间小于1秒)
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。(n<=39)
提示:要用到动态规划,否则无法达成执行时间的限制
代码如下:

import java.util.Scanner;
public class 斐波那契数列 {
	public static int f(int n) {
		if(n==0) {
			return 0;//初始值为0
		}
		if(n==1) {
			return 1;//定义f(1)为1,否者结果都是0;
		}
		int result=0;
		int r1 = 0;
		int r2 = 1;
		for(int i = 2;i<=n; i++) {//斐波那契数列求解f(n)
			result = r1+r2;
			r1=r2;
			r2=result;
		}
		return result;//返回结果
	}
	public static void main(String[] args) {
		System.out.println("请输入一个不超过39的整数:");
		Scanner s=new Scanner(System.in);//从键盘输入
		int n;
		n=s.nextInt();
		double startTime=System.currentTimeMillis();
		System.out.println(f(n));
		double endTime=System.currentTimeMillis();
		System.out.println("执行时间:"+(endTime-startTime)+"ms");//测试时间
	}
	
}

输出如图:
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值