基本算法思想之穷举法


穷举算法是最基本的算法思想,我们通过一个简单的例子来看看穷举算法的应用。鸡兔同笼问题:

今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?

通过分析我们可以知道鸡的数量应该为0~35之间的数。这样,我们可以使用穷举法来逐个判断是否符合,从而搜索答案。

import java.util.Scanner;

public class Solution {

    private static int re = 0;
    private static int chicken = 0;
    private static int rabbit = 0;

    public static void solve(int head, int foot) {// 穷举算法
        for (int i = 0; i <= head; ++i) {
            int j = head - i;
            if (i * 2 + j * 4 == foot) {
                re = 1;
                chicken = i;  // chicken代表鸡的个数
                rabbit = j;     // rabbit代表兔子的个数
            }
        }
    }

    public static void main(String[] args) {
        int head, foot;
        System.out.println("穷举法解决鸡兔同笼问题~");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入头的个数:");
        head = scanner.nextInt();
        System.out.println("请输入脚的个数:");
        foot = scanner.nextInt();
        solve(head, foot);
        if (re == 1){
            System.out.println("鸡的个数为:" + chicken + "只,兔子的个数为:" + rabbit + "只。");
        } else {
            System.out.println("无解!!");
        }
    }
}
基本算法思想之穷举法_第1张图片
运行结果

你可能感兴趣的:(基本算法思想之穷举法)