博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第9周上机实践项目6——穷举法解决组合问题(3~7)
阅读量:2346 次
发布时间:2019-05-10

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

(3)三色球问题

问题及代码

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:辛彬 * 完成日期:2014年 10 月 27 日 * 版 本 号:v1.0 * * 问题描述:一个口袋有3个红球,3个白球,6个黑球。取出8个球,求不同的颜色搭配。 * 输入描述:没有输入。 * 程序输出:方案。 */#include 
using namespace std;int main(){ int i,j,m,count=0; cout <<"红、白、黑球的个数为:\n"; for(i=0; i<=3; i++) for(j=0; j<=3; j++) for(m=0; m<=6; m++) if(i+j+m==8) { ++count; cout <
<<":"<<" "<
<<" "<
<<" "<
<

运行结果:

(4)委派任务

问题及代码

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:辛彬 * 完成日期:2014年 10 月 27 日 * 版 本 号:v1.0 * * 问题描述:要求在ABCDEF六个队员中选人执行任务,但有一些限制条件。 * 输入描述:没有输入。 * 程序输出:方案。 */#include 
using namespace std;int main(){ int a,b,c,d,e,f; cout <<"应该让以下这些人去:"<
=1&&(a+d)!=2&&a+e+f==2&&(b+c==0||b+c==2)&&c+d==1&&(d+e==0||d==1)) { if(a==1) cout <<"A"; if(b==1) cout <<"B"; if(c==1) cout <<"C"; if(d==1) cout <<"D"; if(e==1) cout <<"E"; if(f==1) cout <<"F"; } return 0;}

运行结果:

(5)求加法式中符号代表的数

问题及代码

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:辛彬 * 完成日期:2014年 10 月 27 日 * 版 本 号:v1.0 * * 问题描述:求加法式中各个符号所代表的数字,不能重复。 *                        C *                     学 C *                  要 学 C *             + 都 要 学 C *             ———————————— *               2  0  0  8 * 输入描述:没有输入。 * 程序输出:方案。 */#include 
using namespace std;int main(){ int idou,iyao,ixue,ic,icount=0; for(idou=0; idou<=9; idou++) for(iyao=0; iyao<=9; iyao++) for(ixue=0; ixue<=9; ixue++) for(ic=0; ic<=9; ic++) if(((idou-iyao)*(idou-ixue)*(idou-ic)*(iyao-ixue)*(iyao-ic)*(ixue-ic))!=0&&idou*1000+iyao*200+ixue*30+ic*4==2008) { ++icount; cout <<"方案"<
<<":"<<"都代表"<
<<" 要代表"<
<<" 学代表"<
<<" C代表"<
<

运行结果:

(6)求谁是小偷

问题及代码

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:辛彬 * 完成日期:2014年 10 月 27 日 * 版 本 号:v1.0 * * 问题描述:A说自己不是小偷,B说C是小偷,C说D是小偷,D说自己不是小偷,求谁是小偷。 * 输入描述:没有输入。 * 程序输出:小偷。 */#include 
using namespace std;int main(){ int a,b,c,d; (a-b)*(a-c)*(a-d)*(b-c)*(b-d)*(c-d)!=0; cout <<"求谁是小偷"<

运行结果:

(7)求等式中的数字

问题及代码

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:辛彬 * 完成日期:2014年 10 月 28 日 * 版 本 号:v1.0 * * 问题描述:求等式[※×(※3+※)]的平方=8※※9中※依次所代表的数字。 * 输入描述:没有输入。 * 程序输出:方案。 */#include 
using namespace std;int main(){ int a,b,c,d,e; cout <<"求等式[※×(※3+※)]的平方=8※※9中※依次所代表的数字"<

运行结果

(7)拓展:求等式中的数字及运算符

问题及代码

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:辛彬 * 完成日期:2014年 10 月 27 日 * 版 本 号:v1.0 * * 问题描述:求等式[※×(※3○※)]的平方=8※※9中※依次所代表的数字,○所代表的运算符。 * 输入描述:没有输入。 * 程序输出:方案。 */#include 
using namespace std;int main(){ int a,b,c,d,e; cout <<"求等式[※×(※3○※)]的平方=8※※9中※依次所代表的数字,○所代表的运算符"<
运行结果:

学习感悟:除了倒数第二个的解法我不太明白外,其余的感觉还行。。。。。精简一下或许更好

你可能感兴趣的文章
数据结构教程--李春葆版(总结)之排序-插入排序
查看>>
centos7单用户模式修改root密码
查看>>
linux文件类型
查看>>
alias,which命令
查看>>
数组名和指针的区别
查看>>
栈和堆的具体区别
查看>>
如何判断一个点在矩形内
查看>>
析构函数何时被调用
查看>>
C++虚函数底层机制
查看>>
面试题:随机数生成、蓄水池抽样、海量数据、设计秒杀系统
查看>>
linux清除cache的方法
查看>>
memmove 和 memcpy的区别以及处理内存重叠问题
查看>>
费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
查看>>
C/C++中变量的存储位置
查看>>
C++中四种强制类型转换区别详解
查看>>
linux gdb的详细用法 运行与断点
查看>>
删除vector中重复元素
查看>>
和为s的连续正数序列
查看>>
什么是Redis?什么是nosql?NoSQL数据库的四大分类
查看>>
为什么说Redis是单线程的以及Redis为什么这么快!
查看>>