JAVA的常用算法手册—常用的算法思想之穷举算法思想

JAVA的常用算法手册—常用的算法思想之穷举算法思想

1、基本概念

穷举算法是最简单的一种算法,其依赖于计算机强大的计算能力,来穷尽有可能的每一种情况,从而达到求解问题的目的。穷举法的效率并不高,但是使用一些没有规律可循的场合。

2、穷举法的基本思想

穷举法的基本思想就是从所有可能的结果中搜索出正确的答案,其执行步骤如下:

(1)对于每一种可能的情况计算其结果

(2)判断结果是否满足条件要求,如果不满足则执行第(1)步来搜索下一个可能情况,如果满足条件要求则表示寻找到一个正确答案

在使用穷举法时要明确问题的答案范围,这要才可以在指定的范围内进行搜索答案,就可以使用循环语句和条件判断语句逐步的验证答案的正确性,从而得到正确的答案

3、穷举算法的实例—鸡兔同笼

今有鸡兔同笼,三十五个头和九十四只脚,问鸡兔各几个?

分析问题

(1)可能情况:鸡有X只,X在0~35只,则剩下的就是兔的数量

(2)使用穷举法进行搜索答案

/*
 * 分析问题
 * 1、首先定义两个整数变量chichen和habbit,分别表示鸡和兔的数量。
 * 2、定义两个整数变量head和foot,分别表示头和脚的数量。
 * 3、定义方法进行循环和判断,加入chichen*2+habbit*4=foot则是正确答案
 */
public class P3_1 {
 static int chichen;
 static int habbit;
 public static int qiongJu(int head,int foot){
  int re,i,j;
  re=0;
  for (i = 0; i <head; i++) {
   j=head-i;
   if (i*2+j*4==foot) {
    re=1;
    chichen=i;
    habbit=j;
     
   }
  }
  
  return re;
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  qiongJu(35,94);
  System.out.println("鸡有"+chichen+"只"+","+"兔有"+habbit+"只");
 } 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值