题解 | #百鸡问题# 形式2
百鸡问题
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++) { for(c=0;c<=100-b;c++) { float tiaojian1=5*a+3*b+(float)c/3; int tiaojian2=a+b+c; if(tiaojian1<=n&&tiaojian2==100){ 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;依旧用的循环,但是要在代码中加一个测试条件a+b+c==100。
啊啊啊啊自己这里都分不出来!可恶啊!