一、年龄几何。
(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