C语言 百鸡百钱的优化 穷举搜索
发布日期:2021-07-27 05:26:58 浏览次数:5 分类:技术文章

本文共 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

转载地址:https://blog.csdn.net/qq_45569601/article/details/105805692 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:c++ 查找算法 并行搜索 个人笔记
下一篇:c++ 查找算法 二分查找 个人笔记

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年09月24日 23时59分50秒