本帖最后由 liu果酱 于 2019-3-29 19:08 编辑
1.不死神兔案例:
有一个很有名的数学逻辑题叫做不死神兔问题。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子对数为多少?
[Java] 纯文本查看 复制代码 public class GetCount {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要计算的月数");
int n = sc.nextInt();
int num = getCount(n);
System.out.println(num);
}
//要求定义一个方法,来求第n个月兔子的对数
//参数int n
//返回值 int
public static int getCount(int n) {
if (n == 1 || n == 2) {
return 1;
}
int[] arr = new int[n];
arr[0] = 1;
arr[1] = 1;
for (int x = 2; x < arr.length; x++) {
arr[x] = arr[x - 2] + arr[x - 1];
}
return arr[arr.length - 1];
}
} 2.我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
案例提示
用两个循环:
①第1层循环,用于表示鸡翁的范围,初始化表达式的变量定义为 a=0,判断条件是a<=20。 ②第2层循环,用于表示鸡母的范围,初始化表达式的变量定义为 b=0,判断条件是b<=33。 ③这个时候,用于表示鸡雏的变量 c = 100 – a – b。 ④判断表达式 c%3==0 和表达式 5a + 3b + c/3 = 100 是否同时成立,如果成立,输出对应的 a,b,c 的值,就是对应的鸡翁,鸡母,鸡雏的值。
[Java] 纯文本查看 复制代码 public class Test {
public static void main(String[] args) {
//公鸡a 母鸡b 小鸡c
int a = 0;
int b = 0;
int c = 0;
//a+b+c=100
//5*a+*b+c/3=100
for (a = 0; a <= 20; a++) {
for (b = 0; b <= 33; b++) {
c = 100 - a - b;
if (a * 5 + b * 3 + c / 3 == 100) {
System.out.println("公鸡" + a + "母鸡" + b + "小鸡" + c);
}
}
}
}
}
|