第4章-12 求满足条件的斐波那契数 (30 分)

斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。求大于输入数的最小斐波那契数。

输入格式:

在一行输人一个正整数n(n>=10)。

输出格式:

在一行输出大于n的最小斐波那契数。

输入样例:

在这里给出一组输入。例如:

10

输出样例:

在这里给出相应的输出。例如:

13

代码如下:

 

n=int(input())
a=[1,1]
for i in range(2,100):
    if a[i-1]<n:
        b=a[i-1]+a[i-2]
        a.append(b)
    else:
        print(a[i-1])
        break

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,我们可以使用递归或动态规划的方法来找到满足特定条件(例如大于等于某个值)的斐波那契数。这里我会展示两种方法: 1. **递归**: ```java public class Fibonacci { public static long fibonacci(int n) { if (n <= 0) return 0; if (n == 1 || n == 2) return 1; return fibonacci(n - 1) + fibonacci(n - 2); } public static void findFibonacciGreaterThan(int target) { for (int i = 1; ; i++) { long fib = fibonacci(i); if (fib >= target) { System.out.println("The first Fibonacci number greater than or equal to " + target + " is: " + fib); break; } } } public static void main(String[] args) { int condition = 100; // 你可以更改这个值 findFibonacciGreaterThan(condition); } } ``` 在这个例子中,`findFibonacciGreaterThan`方法会不断递归计算斐波那契数,直到找到第一个大于或等于给定目标值的数。 2. **动态规划**: ```java public class Fibonacci { public static long fibonacci(int n, long[] memo) { if (n <= 0) return 0; if (n == 1 || n == 2) return 1; if (memo[n] != 0) return memo[n]; memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo); return memo[n]; } public static void findFibonacciGreaterThan(int target) { long[] memo = new long[target + 1]; for (int i = 0; i < memo.length; i++) memo[i] = -1; for (int i = 1; ; i++) { long fib = fibonacci(i, memo); if (fib >= target) { System.out.println("The first Fibonacci number greater than or equal to " + target + " is: " + fib); break; } } } public static void main(String[] args) { int condition = 100; // 你可以更改这个值 findFibonacciGreaterThan(condition); } } ``` 动态规划版本使用一个数组`memo`来存储已经计算过的斐波那契数值,避免了重复计算,效率更高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值