C++第四次上机实验-穷举法

    xiaoxiao2021-04-14  85

    一、年龄几何。 (1)问题及代码: /* * 文件名称:穷举法解决组合问题 * 作 者:徐永栋 * 完成日期:2017 年4月7日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:年龄几何 * 输入描述:无 * 问题描述:张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880,求以他们的年龄为前4项的等差数列的前20项。 * 程序输出:等差数列的前20项。 * 问题分析:无 * 算法设计:无 */ #include<iostream> using namespace std; int main() { int a,n,an,b; for(a=1;a<=4;a++) for(n=1;n<=6;n++) if(4*n+6*a==26&&n*(n+a)*(n+a+a)*(n+a+a+a)==880) { for(b=1;b<=20;b++) { an=n+(b-1)*a; cout<<an<<'\t'; } } return } (2) 运行结果: 二、 百钱百鸡问题。 (1)问题及代码: /* * 文件名称:穷举法解决组合问题 * 作 者:徐永栋 * 完成日期:2017 年4月7日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:年龄几何 * 输入描述:无 * 问题描述:张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880,求以他们的年龄为前4项的等差数列的前20项。 * 程序输出:等差数列的前20项。 * 问题分析:无 * 算法设计:无 */ #include<iostream> using namespace std; int main() { int a,n,an,b; for(a=1;a<=4;a++) for(n=1;n<=6;n++) if(4*n+6*a==26&&n*(n+a)*(n+a+a)*(n+a+a+a)==880) { for(b=1;b<=20;b++) { an=n+(b-1)*a; cout<<an<<'\t'; } } return 0; } (2)运行结果: 三、 三色球问题 (1)问题及代码: /* * 文件名称:三色球问题 * 作 者:徐永栋 * 完成日期:2017 年4月7日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:略 * 输入描述: 无 * 问题描述:若一个口袋中放有12个球,其中有3个红的。3个白的和6个黒的,问从中任取8个共有多少种不同的颜色搭配? * 程序输出:不同的颜色搭配 * 问题分析:无 * 算法设计:无 */ #include<iostream> using namespace std; int main() { int i,j,z; cout<<"不同的颜色搭配有:"<<endl; for(i=0;i<=3;i++) for(j=0;j<=3;j++) { if(8-i-j<=6) cout<<"红球:"<<i<<",白球:"<<j<<",黑球:"<<8-i-j<<endl; } return 0; } (2) 运行结果: 四、求出"都、要、学、C"4个符号分别代表的数字。 (1)问题及代码: /* * 文件名称:求出"都、要、学、C"4个符号分别代表的数字。 * 作 者:徐永栋 * 完成日期:2017 年4月7日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述: 无 * 问题描述:设计程序求出"都、要、学、C"4个符号分别代表的数字。 * 程序输出:"都、要、学、C"4个符号分别代表的数字 * 问题分析:无 * 算法设计:无 */ #include<iostream> using namespace std; int main() { int a,b,c,d; for(a=0;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) for(d=0;d<=9;d++) if(4*d+30*c+200*b+a*1000==2008&&a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d) cout<<"都:"<<a<<" 要:"<<b<<" 学:"<<c<<" C:"<<d<<endl; return 0; } (2)运行结果: 五、心得体会:        学会了穷举法,很有用,C++真的很有趣,我会继续努力。 六、 知识点总结:      “for语句”也称为“for循环”。语句格式为:  for ( 表达式1; 表达式2 ; 表达式3 ) 语句。 (1) 计算表达式1的值; (2) 计算表达式2的值,若为真则执行循环体,若为假则结束循环; (3) 计算表达式3的值; (4) 转回上面第(2)步继续执行。       
    转载请注明原文地址: https://ju.6miu.com/read-670441.html

    最新回复(0)