鸡兔同笼

Posted 认真生活、快乐工作 - 马云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鸡兔同笼相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <math.h>

/**
【题目】鸡兔同笼
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。如
果无解,则输出No answer。
样例输入:
14 32
样例输出:
12 2
*/

/**
【分析】
设鸡有a只,兔有b只,则a+b=n,2a+4b=m,联立解得a=(4n-m)/2,b=n-a。
在什么情况下此解“不算数”呢?首先,a和b都是整数;其次,a和b必须是非负的。
*/

int main()
{
    int n,m;
    scanf("%d%d",&n,&m);

    int chick_num,rabbit_num;


    chick_num = n - (m-2*n) /2;
    rabbit_num = (m-2*n) / 2;

    if (rabbit_num < 0 || chick_num < 0) {
        printf("No answer\n");
    } else {
        printf("%d %d\n",chick_num,rabbit_num);
    }

    return 0;
}

点评:有时候计算机不需要知道过程。过程你可以自己通过数学公式计算。计算机只负责计算输出就行了,至于里面的原理,需要你自己计算。

以上是关于鸡兔同笼的主要内容,如果未能解决你的问题,请参考以下文章

鸡兔同笼问题

鸡兔同笼

C语言鸡兔同笼

Linux脚本基础篇-鸡兔同笼问题

numpy的鸡兔同笼运算

OJ刷题---鸡兔同笼问题