题目:鸡和兔总数:n,总腿数:m.输入n,m,输出鸡和兔分别的数量;无解则输出"No answer"
样例输出1:
14 32
样例输出1:
12 2
样例输入2:
10 16
样例输出2:
No answer
首先,声明两个变量n,m对应总数和总腿数;再声明两个变量为鸡和兔各自的数量a,b
1 int n,m,a,b;
输入n,m:
scanf("%d%d",&n,&m);
通过联立方程组:
a+b=n
2a+4b=m
得:
a=(4n-m)/2; b=n-a;
判断是否无解:
1.总腿数m不能为奇数
2.a>=0
3.b>=0
则:
if(m%2==1||a<0||b<0) printf("No answer");
如果有解,则输出a,b:
else printf("%d %d",a,b);
完整代码:
//P9 例1-4鸡兔同笼 #include <cstdio> int n,m;//n:总数量 m:总腿数 int main() { int a,b;//a:鸡的数量 b:兔的数量 scanf("%d%d",&n,&m);//输入总数量n和总腿数m a=(4*n-m)/2;//联立方程组2a+4b=m和a+b=n b=n-a; if(m%2==1||a<0||b<0)//总腿数不能是奇数且鸡和兔的数量都不能是负数 printf("No Answer"); else printf("%d %d",a,b); return 0; }