美文网首页算法思想
基本算法思想之穷举法

基本算法思想之穷举法

作者: JRTx | 来源:发表于2017-08-23 15:38 被阅读0次

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

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

    通过分析我们可以知道鸡的数量应该为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("无解!!");
            }
        }
    }
    
    运行结果

    相关文章

      网友评论

        本文标题:基本算法思想之穷举法

        本文链接:https://www.haomeiwen.com/subject/xanddxtx.html