62,614
社区成员
发帖
与我相关
我的任务
分享
public class Test02 {
public static void main(String[] args) {
count(4);
}
public static void count(int a){
if(a<2)
return;
int[] arr = new int[a];
arr[0]=1;
arr[1]=1;
for (int i = 2; i < a; i++) {
if(i>=14)
arr[i] = arr[i-1]+arr[i-2]-arr[i-14];
else
arr[i] = arr[i-1]+arr[i-2];
}
System.out.println(arr[a-1]);
}
}
import java.util.*;
public class Rabbit {
public static void main(String args[]) {
/*零个月, 三个月, 六个月, 九个月*/
int [] a = new int[4];
for(int i = 0; i < 4; i++) a[i] = 0;
a[0] = 1;
Scanner in = new Scanner(System.in);
int num = 0;
while(in.hasNextInt()) {
num = in.nextInt();
break;
}
int times = 0;
times = num / 3;
System.out.println(times);
while(times != 0) {
times--;
int e = a[0], b = a[1], c = a[2], d = a[3];
a[0] += b + c + d;
a[1] = e;
a[2] = b;
a[3] = c;
System.out.println(a[0] + " " + a[1] + " " + a[2] + " " + a[3]);
}
System.out.println(a[0]+a[1]+a[2]+a[3]);
}
}
不知道题目假设是什么, 感觉思路可以这样做。。
public class Rabbit {
public static int calTotalRabbits(int month){
if(month <= 2) {
return 1;
}else{
return calTotalRabbits(month-1) + calBornRabbits(month) - calDeadRabbits(month);
}
}
public static int calBornRabbits(int month){
if(month == 1){ //假设第一个月那一对兔子是上帝生的
return 1;
}else if(month == 2){
return 0;
}else{
return calTotalRabbits(month-2) - calDeadRabbits(month) - calDeadRabbits(month-1) ;
}
}
public static int calDeadRabbits(int month){
if(month < 12){
return 0;
}else{
return calBornRabbits(month - 11 );
}
}
public static void main(String[] args){
System.out.println(calTotalRabbits(26));
}
}
public class Rabbit {
public static int calBornRabbits(int month){
if(month <=4 ){
return 1;
}
else{
return calBornRabbits(month - 1) + calBornRabbits(month - 2);
}
}
public static int calDeadRabbits(int month){
if(month <= 12 ){
return 1;
}
else{
return calDeadRabbits(month - 1) + calDeadRabbits(month - 2);
}
}
public static void main(String[] args){
System.out.println(calBornRabbits(26) - calDeadRabbits(26));
}
}