- /*
- * Copyright (c) 2014, 烟台大学计算机学院
- * All rights reserved.
- * 文件名称:test.cpp
- * 作 者:刘畅
- * 完成日期:2014年 10 月 27 日
- * 版 本 号:v1.0
- *
- * 问题描述:用穷举法解决组合问题;
- * 输入描述: 无输入;
- * 程序输出:不造输出什么;
- */
- (1)年龄几何:张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880,求以他们的年龄为前4项的等差数列的前20项。
#include <iostream> using namespace std; int main() { int n,a,i,sum; cout<<"以张三、李四、王五、刘六的年龄为前4项的等差数列前20项依次为:"<<endl; for (n=1; n<=6; n++) for (a=1; a<=4; a++) if (4*n+6*a==26&&n*(n+a)*(n+a+a)*(n+a+a+a)==880) for (i=0; i<20; i++) { sum=n; sum=sum+i*a; cout<<sum<<" "; } return 0; }
- 运行结果:
- (2)三色球问题:若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,问从中任取8个共有多少种不同的颜色搭配?
#include <iostream> using namespace std; int main() { int i,j,count; cout<<"从中任取8个不同的颜色搭配方案有:"<<endl; for (i=0; i<=3; i++) for (j=0; j<=3; j++) if (8-i-j<=6) { ++count; cout<<"红球"<<i<<"个, "<<"白球"<<j<<"个, "<<"黑球"<<8-i-j<<"个"<<endl; } }
- 运行结果:
- 知识点总结:
- 穷举法主要是要拥有比较好的逻辑思维能力,自顶向下,逐步求精。
- 学习心得:
- 年龄几何的代码我昨天我写完后在codeblocks上运行了好几次,不管我怎么修改语句输出的结果都是错误的,最后因为赶着去体测就放弃了,今天重新编了一次终于发现错误,4*n+6*a==26被我打成了4*n+4*a==26。果然是错一个小数点都会使航天飞机坠落啊,要吸取教训了,以后要多注意。
第9周项目6-穷举法解决组合问题(3,4)
最新推荐文章于 2021-04-03 18:05:14 发布