使用java编写程序,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?要求从键盘读入月份m,输出m月后兔子的总数。
时间: 2023-09-26 12:09:14 浏览: 75
好的,这是一个简单的Java程序实现这个问题:
```java
import java.util.Scanner;
public class Rabbit {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入月份m:");
int m = input.nextInt();
int a = 1, b = 1, c;
for (int i = 3; i <= m; i++) {
c = a + b;
a = b;
b = c;
}
System.out.println(m + "月后兔子的总数为:" + b * 2);
}
}
```
以上代码中,我们通过循环计算每个月的兔子总数,使用变量a和b分别表示上一个月和当前月的兔子数量,变量c表示当前月新生的兔子数量。在每个月结束后,我们将变量a和b重新赋值,以便计算下一个月的兔子总数。最终输出m月后的兔子总数。
输入月份m为10时,输出结果为:10月后兔子的总数为:28672
相关问题
用Java编写程序:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子总数为多少对?
以下是用Java编写的程序,用于计算第n个月的兔子总数:
```java
import java.util.Scanner;
public class Fibonacci {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); System.out.print("请输入要计算的月份:");
int n = scanner.nextInt();
int result = fibonacci(n);
System.out.println("第" + n + "个月的兔子总数为:" + result + "对");
}
public static int fibonacci(int n) {
if (n <= 2) {
return 1;
}
int a = 1;
int b = 1;
int result = 0;
for (int i = 3; i <= n; i++) {
result = a + b;
a = b;
b = result;
}
return result;
}
}
```
有一对兔子,从出生后第3个月起都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月兔子的对数为多少?用java编写程序
以下是Java代码实现:
```java
import java.util.Scanner;
public class Rabbit {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int month = sc.nextInt();
int[] rabbits = new int[month];
rabbits[0] = 1;
rabbits[1] = 1;
for (int i = 2; i < month; i++) {
rabbits[i] = rabbits[i - 1] + rabbits[i - 2];
}
System.out.println("第" + month + "个月的兔子对数为:" + rabbits[month - 1]);
}
}
```
阅读全文