博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言 百鸡百钱的优化 穷举搜索
阅读量:3966 次
发布时间:2019-05-24

本文共 1183 字,大约阅读时间需要 3 分钟。

C语言 百鸡百钱的优化 穷举搜索

一.穷举搜索的思想

列举出所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的全部的解答

二.使用穷举搜索需要考虑的问题

(1)问题所涉及的情况:问题所涉及的情况有哪些,情况的种数必须可以确定。把它描述

出来。应用穷举时对问题所涉及的有限种情形必须一一列举,既不能重复,也不能遗漏。重复列

举直接引发增解,影响解的准确性;而列举的遗漏可能导致问题解的遗漏。

(2)答案需要满足的条件:分析出来的这些情况,需要满足什么条件,才成为问题的答案。

把这些条件描述出来。

三.白鸡百钱优化的问题

源代码

#include 
using namespace std;//题目://公鸡一只五块钱,母鸡一只三块钱,小鸡三只一块钱,//现在要用一百块钱买一百只 鸡,问公鸡、母鸡、小鸡各多少只/************************************ 函数作用: 解开上述题目** 函数参数 : 无** 函数返回值: 无***********************************/void chickenMoney() { int cockNumber = 0; //cockNumber公鸡数 int henNumber = 0; // henNumber 母鸡数 int chickNumber = 0; //chickNumber 小鸡数 for (cockNumber = 0; cockNumber <= 20; cockNumber++) { for (henNumber = 0; henNumber <= (100-cockNumber*5)/3; henNumber++) { chickNumber = 100 - cockNumber - henNumber; //小鸡数 = 100 - 公鸡数 - 小鸡数 if (chickNumber%3 == 0 &&cockNumber + henNumber + chickNumber == 100 && cockNumber * 5 + henNumber * 3 + chickNumber / 3 == 100) { cout << "公鸡数:" << cockNumber << " 母鸡数:" << henNumber << " 小鸡数:" << chickNumber << endl; } } } }}int main(void) { chickenMoney(); return 0;}

代码测试的结果

公鸡数:0 母鸡数:25 小鸡数:75

公鸡数:4 母鸡数:18 小鸡数:78
公鸡数:8 母鸡数:11 小鸡数:81
公鸡数:12 母鸡数:4 小鸡数:84

转载地址:http://fbyki.baihongyu.com/

你可能感兴趣的文章
Android 发布到google Play的app搜索不到问题的解决
查看>>
Flutter 网络请求之基于dio的简单封装
查看>>
Flutter UI基础 - 路由之Navigator详解
查看>>
Flutter UI基础 - Widgets 之 InkWell 和 Ink
查看>>
Spring - sentinel和hystrix比较
查看>>
MySQL - 索引之B+树
查看>>
Spring - Dubbo的底层实现原理和机制
查看>>
Flutter Dio引入和简单的Get/Post请求
查看>>
Flutter Dart 和 Flutter json转实体类(插件自动生成)
查看>>
Flutter 路由跳转fluro
查看>>
Flutter 日期插件date_format 中文 国际化 及flutter_cupertino_date_picker
查看>>
Flutter 插件笔记 | 屏幕适配 flutter_screenutil
查看>>
Flutter UI基础 - 侧拉抽屉菜单
查看>>
Flutter UI基础 - AppBar中标题文字如何居中
查看>>
Flutter UI基础 - Drawer 抽屉视图与自定义header
查看>>
Flutter UI基础 - 点击展开和关闭
查看>>
Flutter UI基础 - GridView
查看>>
Flutter UI - 打造一个圆形滑块(Slider)
查看>>
Flutter UI基础 - 分割线效果实现
查看>>
Flutter UI基础 - DecoratedBox组件
查看>>