算法学习笔记之穷举算法

穷举算法学习笔记




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

穷举算法思想:
        穷举算法的基本思想就是从所有可能的情况中搜索正确的答案。

穷举算法的执行步骤:
1)  对于一种可能的情况,计算结果;
2)  判断结果是否满足要求,不满足继续执行1),满足就结束。


Java代码实现:
/**
 * 穷举算法: 穷举每一种可能出现的情况,找到解. 
 * 
 * 例子1: 鸡兔同笼问题:"今有鸡兔同笼,上有三十五头,下有九十四足.问鸡兔各几何?". 
 * 例子2: 百鸡问题:"鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一.百钱买百鸡,问鸡翁,母,雏各几何?".
 * 
 * 
 */
public class QiongJu {

	static void bqmbj() {
		for(int jw = 1;jw<20;jw++){
			for(int jm = 1;jm<33;jm++){
				for(int jc = 1;jc<99;jc++){
					if((jw+jm+jc == 100)&&(15*jw+9*jm+jc == 300)){
						System.out.println("鸡翁:" + jw);
						System.out.println("鸡母" + jm);
						System.out.println("鸡雏:" + (jc));
					}
				}
			}
		}
	}

	static void jttl(int head, int foot) {
		int j = 0; // 鸡
		// j+t=35;
		// j*2+t*4=94;
		for (; j < head;) {
			if (2 * j + 4 * (head - j) == foot) {
				System.out.println("鸡" + j);
				System.out.println("兔" + (head - j));
			}
			j++;
		}
	}

	public static void main(String[] args) {

//		jttl(35, 94);
		bqmbj();

	}

}

注:


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光明矢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值