鸡兔同笼

#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;
}


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

posted @ 2018-03-01 17:51  TBHacker  阅读(330)  评论(0编辑  收藏  举报