前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >穷举法应用——搬砖块

穷举法应用——搬砖块

作者头像
Zoctopus
发布2018-06-04 11:52:48
1.6K0
发布2018-06-04 11:52:48
举报
文章被收录于专栏:章鱼的慢慢技术路

一、问题描述

某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。有多少种搬法用45人正好搬45块砖?

二、问题分析

这是一个组合问题,由三个因素决定组合的数量:男人,女人,小孩的人数,取值范围均为0~45,总人数之和为45人。对于每类人数的取值都要反复地试,最后确定正好满足45人搬45块砖的组合。可以用循环来解决,三类人数按照各自的取值范围循环,可以采用三重循环嵌套。

三、程序实现

代码语言:javascript
复制
    int child,men,women;
    
    for(men=0;men<=45;men++)
        for(women=0;women<=45;women++)
            for(child=0;child<=45;child++)
                if(men+women+child==45&&men*3+women*2+child*0.5==45)
                    printf("men=%d,women=%d,child=%d\n",men,women,child);
        
    return 0;

四、程序改进

由于最多只有45块砖,男人的数量不会超过15人,女人的数量不会超过22人,一旦男人和女人的数量确定下来后,小孩的人数应该是==45-男人数-女人数。

代码语言:javascript
复制
    int child,men,women;
    
    for(men=0;men<=15;men++)
        for(women=0;women<=22;women++){
                        child=45-women-men;
                if(men*3+women*2+child*0.5==45)
                    printf("men=%d,women=%d,child=%d\n",men,women,child);
        }
    
                    
    return 0;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题描述
  • 二、问题分析
  • 三、程序实现
  • 四、程序改进
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档