本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/8
算法-穷举算法-鸡兔同笼
/**
* 穷举算法
* 穷举算法是最基本的算法思想,下面通过一个简单的例子来分析穷举算法的应用。
* 鸡兔同笼问题最早记载于1500年前的《孙子算经》,这是我国古代一个非常有名的问题。鸡兔同笼的原文如下:
* 今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?
* 这个问题的大致意思是:
* 在一个笼子里关着若干只鸡和若干只兔,从上面数共有35个头;从下面数共有94只脚。问笼中鸡和兔的数量各是多少?
*/
import java.util.*;
public class BruteForce {
public static int chicken,rabbit;//chicken代表鸡的个数,rabbit代表兔子的个数
public static void main(String[] args) {
int head, foot;
boolean re;
System.out.println("穷举法求解鸡兔同笼问题:");
Scanner input = new Scanner(System.in);
System.out.println("请输入头数:");
head = input.nextInt();
System.out.println("请输入脚数:");
foot = input.nextInt();
re = qiongJu(head, foot);
if (re) {
System.out.println("鸡的个数:" + chicken + "--兔子的个数:" + rabbit);
} else {
System.out.println("无解");
}
}
public static boolean qiongJu (int head, int foot) {
int i, j;
boolean re = false;
for (i = 0; i<=head; i++) {
j = head -i;
if (4 * i + 2*j == foot) {
re = true;
chicken = i;
rabbit = j;
}
}
return re;
}
}
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/8