基本算法思想之穷举法


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

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

通过分析我们可以知道鸡的数量应该为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("无解!!");
        }
    }
}
运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容