穷举法

本文介绍了一种基本的算法思想——穷举法,通过在所有可能的情况中搜索正确答案,适用于无明显规律的问题解决。以鸡兔同笼问题为例,展示了如何在指定范围内使用循环和条件判断逐步验证候选答案,最终找到正确解决方案。
摘要由CSDN通过智能技术生成

基本思想:
从所有可能的情况中搜索正确答案;

执行步骤:
1、对于一种可能的情况,计算其结果;
2、判断结果是否满足要求,如果不满足,继续执行第一步来搜索正确答案;如果满足,则找到了一个正确答案;

穷举法效率并不高,适合于一些没有明显规律可循的场合,在使用穷举法时,需要明确问题的答案的范围,这样才可以在指定范围内搜索答案,指定范围之后就可以使用循环语句和条件判断语句逐步验证候选答案的正确性,从而得到需要的正确的答案;

实例:
鸡兔同笼,有35头,94足,求鸡兔各多少只?

/**
 * @ClassName TestDemo8
 * @Description 穷举法
 * @Author lzq
 * @Date 2018/11/29 21:13
 * @Version 1.0
 **/
public class TestDemo8 {
    public static void main(String[] args) {
        System.out.println("鸡:"+method_of_exhaustion(35,94)[0]+"\t兔:"+
                method_of_exhaustion(35,94)[1]);
    }

    public static int[]  method_of_exhaustion(int head,int foot) {
        int i,j;
        for(i = 0;i <= head;i++) {
            j = head-i;
            if(i*2+j*4 == foot) {
                return new int[] {i,j};
            }
        }
        return new int[] {-1,-1};  //无解
    }
}

鸡:23	兔:12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值