蛮力法策略--枚举

蛮力法

蛮力法是利用计算机运行速度快这一个特性。把问题所有的情况或所有的过程交给计算机逐一尝试,从中找出问题的解。

策略:枚举(穷举)

根据问题的条件将可能的情况一 一列举起来,逐一尝试找出问题的解。有时问题的规模太大,可以排除一些明显不合理的情况。
枚举法的一般规律:


找出枚举范围:分析问题所涉及的所有情况。

找出约束条件:分析问题的解需要满足的条件,并用逻辑表达式解释。

对枚举法的优化主要是对约束范围和约束条件的数学优化。

百钱百鸡

问题:

我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

分析:

隐含约束条件:Z%3 = 0,因为鸡肯定是整只的(肯德鸡除外)。所以鸡仔的个数是3的倍数。

算法:

注意:计算机中遇到除法要小心!

/*
    Name: 
    Copyright: 
    Author: 
    Date: 20/12/17 17:26
    Description: 
    百钱百鸡问题 
*/
#include <stdio.h>
#include <stdlib.h>
void Two(){
    int x,y;
    //枚举次数2000/3 
    for(x=0;x<100/5;x++){
  //约束范围 
        for(y=0;y<100/3;y++){
  //约束范围  
            if(x*5+y*3+(100-x-y)/3==100&&(100-x-y)%3==0){
  //约束条件 
                printf("%d%d%d雏\n",x,y,100-x-
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值