[Java] 纯文本查看 复制代码
public class Tuzi1 {
public static void main(String[] args) {
int month = 46;
long start = System.currentTimeMillis();
System.out.println("第"+month+"个月兔子总数为"+fun(month));
long end = System.currentTimeMillis();
System.out.println("程序运行时间" + (end-start) + "毫秒");
}
private static int fun(int n){
if(n==1 || n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
}[AppleScript] 纯文本查看 复制代码
public class Tuzi2 {
public static void main(String[] args) {
long start = System.currentTimeMillis();
long month=1406;
long i1=1;//第一个月兔子为一对
long i2=1;//第二个月兔子为一对
long i=0;//代表前一个月兔子的对数
long sum=0; //兔子的总数
for(long j=3;j<=month;j++){
i=i2;//当J=3时,前一个月即为第二个月,故将i2的值给i
i2=i+i1;
i1=i;
sum=sum+i2+2;
}
System.out.println("兔子的总数量为"+sum*2);
long end = System.currentTimeMillis();
System.out.println(end-start);
}
}[Java] 纯文本查看 复制代码
import java.math.BigInteger;
public class Tuzi3 {
public static void main(String[] args) {
long start=System.currentTimeMillis();
//创建数组
int month=1407;
BigInteger[] integers = new BigInteger[month];
//初始化前两个数字
integers[0] = BigInteger.ONE;
integers[1] = BigInteger.ONE;
for (int i = 2; i < month; i++)
integers = integers[i - 1].add(integers[i - 2]);
//打印数组
BigInteger sum =integers[0];
for (int i = 0; i < integers.length; i++)
sum =integers;
System.out.println("第"+ month +"个月兔子数量:" + sum);
long end=System.currentTimeMillis();
System.out.println("程序耗时 "+(end-start)+" 毫秒");
}
}