题目:已知鸡和兔的总数量n,总脚数为m。输入n和m,依次输出鸡和兔的数目。如果无解,输出"no answer"

题目来源:c语言程序设计第二版电子科技大学出版社p90t4

解鸡兔同笼问题,首先要先解出兔子和鸡的方程,也可以解出其中一个,再用鸡和兔子的总数量减去,就能得到另外一个。

这里无解的条件是鸡和兔子的数量小于0或者兔子和鸡的总脚数为偶数,也就是说鸡和兔子的总脚数取余等于1。

下面编程中a为鸡的数量,b为兔子的数量

鸡兔同笼解出的方程

鸡的数量方程:a = 2*n - m / 2;

兔子的数量方程:b = m/2 - n;

下面为此编程

#include <stdio.h>
int main()
{
    int a, b, m, n;
    printf("请依次输入兔子和鸡的总数量,兔子和鸡的总脚数有多少\n");
    scanf("%d %d",&n,&m);
    b = m/2 - n;
    a = 2*n - m / 2;
    if (m % 2 == 1 || a < 0 || b<0) {
        printf("no answer");
    }
    else {
        printf("鸡的数量为%d,兔子的数量为%d", a, b);
    }

}

更多推荐

c语言:鸡兔同笼问题