/** * 穷举算法 * 穷举算法是最基本的算法思想,下面通过一个简单的例子来分析穷举算法的应用。 * 鸡兔同笼问题最早记载于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; } }