/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:满星辰
*完成日期:2014年 10月 25日
*版本号:v1.0
*
*问题描述:经典百钱买百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
*输入描述:无输入
*程序输出:百钱买百鸡方案
*/
#include <iostream>
using namespace std;
int main()
{
int x,y,z,count=0;
cout<<"百钱买百鸡方案如下:"<<endl;
for(x=1;x<=20;x++)
for(y=1;y<=33;y++)
for(z=1;z<=100;z++)
if(5*x+3*y+z/3==100&&x+y+z==100)
{
++count;
cout<<count<<"、"<<"鸡翁共"<<x<<"只,鸡母共"<<y<<"只,鸡雏共"<<z<<"只。"<<endl;
}
return 0;
}
成果展示:
/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:满星辰
*完成日期:2014年 10月 25日
*版本号:v1.0
*
*问题描述:六个侦查员A,B,C,D,E,F,
(1)A、b两人中至少去一人
(2)A、D不能一起去
(3)A、E、F三人中要派两人去
(4)B、c 两人都去或都不去
(5)c、d两人中去一人
(6)若D不去,则E也不去。
*输入描述:无输入
*程序输出:
*/
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e,f,count=0;
cout<<"1即为去,0即为不去"<<endl;
for(a=0; a<=1; a++)
for(b=0; b<=1; b++)
for(c=0; c<=1; c++)
for(d=0; d<=1; d++)
for(e=0; e<=1; e++)
for(f=0; f<=1; f++)
if(a+b>1&&(a+d)!=2&&a+e+f==2&&(b+c==0||b+c==2)&&c+d==1&&(d+e==0||d==1))
{
++count;
cout<<"a b c d e f"<<endl;
cout<<a<<"、"<<b<<"、"<<c<<"、"<<d<<"、"<<e<<"、"<<f<<"、"<<endl;
}
return 0;
}
成果展示:
学习感悟:第二个我觉得我弄得挺麻烦的,我想把a的值(0或1)用语言(不去或去)表达出来,目前正在想办法解决。
现在编程基本一次就过,很少出现漏写分号,错把括号()打成花括号{ }这类错误,我在进步~~!!!
虽然现在的项目一次比一次难,但我一定不会落在后面~~!!!
本文通过两个实例展示了如何使用嵌套循环解决经典问题:一是百钱买百鸡问题,二是组合问题求解。文章通过简洁的C++代码实现,清晰地展现了问题的解决方案。
6842

被折叠的 条评论
为什么被折叠?



