小学我们就学过鸡兔同笼问题,那时候我们用的是二元一次方程组解决的,现在让我们来学习如何在C语言中实现。

问题回顾:

有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多

少只鸡和兔?

题目:鸡和兔子共n只,共m条脚。

输入:n和m

输出:鸡和兔子的数量,如果没有解,输出“No”。

思路分析:设鸡有a只,兔有b只,则   /  a + b = n               ||   联解得 /  a = (4n-m)/2

                                                             \  2a + 4b = m          ||               \  b = n-a

首先判断n,m是否为正整数,不是的话直接No

 简单代码(头98脚386  的情况)

#include<stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 1; i < 98; i++)
	{
		for (j = 1; j < 98; j++)
		{
			if ((i + j == 98 )&& (4 * i + 2 * j == 386))
			{
				printf("鸡有%d只,兔有%d只\n", j, i);
			}
		}
	}
	return 0;
}

适普性代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, j, n, m;
    scanf_s("%d", &n);     //n是头的总数
    scanf_s("%d", &m);     //m是脚的总数
    i = (4 * n - m) / 2;   //i是鸡的数量
    j = n - i;             //j是兔的数量
    if (m % 2 == 1 || i < 0 || j < 0)
        printf("No");
    else
        printf("%d %d\n", i, j);
    return 0;
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐