“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”
法(1)
#include<stdio.h>
int main()
{
int g,m,x;
for(g=0;g<100/5;g++) {
for(m=0;m<100/3;m++){
x=(100-g*5-m*3)*3;
if(g+m+x==100){
printf("%d %d %d\n",g,m,x);
}
}
}
}
法(2)
#include <iostream>
using namespace std;
int main()
{
int x,y,z;
for(x=0;x<=100/5;++x)
for(y=0;y<=100/3;++y)
{
z=100-x-y;
if(5*x+3*y+z/3==100&&z%3==0)
cout<<"鸡翁"<<x<<"只,鸡母"<<y<<"只,鸡雏"<<z<<"只。"<<endl;
}
return 0;
}
法(3)
#include <iostream>
using namespace std;
int main()
{
int x,y,z;
for(x=0;x<=20;++x)
for(y=0;y<=33;++y)
for(z=0;z<=300;z+=3)
if(5*x+3*y+z/3==100 && x+y+z==100)
{
cout<<"鸡翁"<<x<<"只,鸡母"<<y<<"只,鸡雏"<<z<<"只。"<<endl;
}
return 0;
}
算法是指解决问题的一种方法或一个过程,严格的说算法是由若干指令组成的有穷序列。一个运行时间短、所需存储空间小、其性能也好的算法是很难做到的,因此我们要根据具体情况进行算法设计。