题解 | #百鸡问题# 形式1
百鸡问题
https://www.nowcoder.com/practice/01d161052db64c249a47fc723b4fd5db
#include<cstdio> #include<iostream> using namespace std; int main() { int n; cin>>n; int a,b,c; for(a=0;a<=100;a++) { for(b=0;b<=100-a;b++) { int c=100-a-b; float tiaojian1=5*a+3*b+(float)c/3; if(tiaojian1<=n){ cout<<"x="<<a<<","<<"y="<<b<<","<<"z="<<c<<endl; } } } return 0; }
这不是百钱白鸡问题!!!,所以对于a的束缚不是20,对于b的束缚不是33,对于c的束缚也不是由300降为100!!
这里没有考虑钱数的限制,只有鸡的只数的限制,因此,!!对于a的束缚是100,对于b的束缚是100-a;对于c便是100-a-b;
这里写c=100-a-b;是为了减少一层循环,降低时间复杂度。