当鸡的数量非常大时使用三个for会使计算时间非常长,所以如何用一个for实现运算
不都说了是百鸡问题了么,怎么还鸡的数量非常大呢?
百鸡问题只有一百个鸡,用一个for:
#include<iostream>
using namespace std;
int main(){
int x,y,z;
for(x=0;x<=20;x++)//公鸡不会超过20只
{
y=25-1.75*x;//先求y
z=100-x-y;//再求z
if(z==(300-15*x-9*y)&&z%3==0&&y>0&&&z>0)
cout<<"x="<<x<<" "<<"y="<<y<<" "<<"z="<<z<<endl;
}
system("pause");
return 0;
}
结果:
一个for循环
#include<iostream>
using namespace std;
int main(){
int x,y,z;
for(x=0;x<=20;x++)//公鸡不会超过20只
{
y=25-1.75*x;//先求y
z=100-x-y;//再求z
if(z==(300-15*x-9*y)&&z%3==0&&y>0&&&z>0)
cout<<"x="<<x<<" "<<"y="<<y<<" "<<"z="<<z<<endl;
}
return 0;
}