本文主要是介绍zzuli oj 1055: 兔子繁殖问题(java),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?
输入
输入月数n(1<=n<=44)。
输出
输出第n个月有多少对兔子。
样例输入
3
样例输出
2
先调到java再提交
极优雅的数学写法(移步斐波那契数列_百度百科 (baidu.com))
import java.util.*;
public class Main{public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();System.out.printf("%.0f",(1 / Math.sqrt(5)) * (Math.pow(((1 + Math.sqrt(5)) / 2),n) - Math.pow(((1 - Math.sqrt(5)) / 2),n)));}
}
斐波那契数列通项公式:
次优雅的递归写法
import java.util.*;
public class Main{public static int Fibonacci(int n) {return (n == 1 || n == 2) ? 1 : (Fibonacci(n - 1) + Fibonacci(n - 2));}public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();System.out.printf("%d",Fibonacci(n));}
}
java里函数编辑
public static 返回值类型 函数名(参数类型1 参数1,参数类型2 参数2,·····){
}
这篇关于zzuli oj 1055: 兔子繁殖问题(java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!