#include<iostream>
using namespace std;
int main() {
int m,n;
for (m=0;m<=50;m++){
for (n=0;n<=50;n++){
if (m+n==50 && 2*m+4*n==160){
cout<<m<<" "<<n;
}
}
}
return 0;
}
经典问题,使用枚举法,让每一个变量在范围内测试每一个值直到出现满足条件的情况
这类问题也可以自己尝试着找一下不同变量间的关系,减少电脑遍历的次数,本题中,鸡和兔的数量一共是50只,所以如果已经确定鸡有n只,那兔子一定是50-n只才有可能满足条件
精简后代码如下:
#include<iostream>
using namespace std;
int main() {
int m,n;
for (m=0;m<=50;m++){
n=50-m;
if (m+n==50 && 2*m+4*n==160){
cout<<m<<" "<<n;
}
}
return 0;
}