【算法】简单题_鸡兔同笼问题

题面描述
  已知鸡和兔的总数量为n,总腿数为m,输入nm,依次输出鸡的数目和兔的数目。如果无解则输出No answer

输入
  两个整数b和m,如上所述。

输出
  鸡的数目和兔的数目。

输入实例

  14 32

输出实例

  12 2

解题思路

  那咱就先看看怎么得出鸡的数量和兔子的数量
  我们假设a = 鸡只数b = 兔只数  

(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数)=鸡的只数

  a = ( 4*n - m )/2

 

  总只数-鸡的只数=兔的只数

  b = n - a

  

#include<stdio.h>
int main() {
    int a,b,n, m;
    // a鸡的数量
    // b兔的数量
    // n鸡兔总数
    // m总脚数
    scanf("%d %d", &n,&m);
    a = (4 * n - m) / 2;//算出鸡的数量
    b = n - a;//算出兔的数量

    if (a <= 0 || b <= 0) {
        printf("No answer");    //结果小于等于0,答案不成立,无解
    }else {
        printf("%d %d\n", a, b);        //结果大于0
     }

  return 0;
}

原文地址:https://www.cnblogs.com/1138720556Gary/p/11372036.html

时间: 2024-11-05 22:00:40

【算法】简单题_鸡兔同笼问题的相关文章

python初学者-鸡兔同笼简单算法

鸡兔同笼问题.假设共有鸡.兔30只,脚90只.求鸡.兔各有多少只 使用for循环快速解决鸡兔同笼问题 for ji in range(0,31): if 2*ji+(30-ji)*4==90: print("鸡:",ji,"兔:",30-ji) 原文地址:https://www.cnblogs.com/wang-yongxu/p/12527023.html

1109: 零起点学算法16——鸡兔同笼

1109: 零起点学算法16--鸡兔同笼 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 4456  Accepted: 1355[Submit][Status][Web Board] Description 鸡和兔关在同一笼子中,已知总数量n和腿的总数量m,求鸡的数量和兔的数量. Input 输入2个整数分别是n和m(多组测试数据) Output 输出鸡的数量和兔的数量,中间用空格隔开,如果无解则

C/C++算法竞赛入门经典Page9 例题1-4 鸡兔同笼

题目:鸡和兔总数: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;

(c语法百题37)鸡兔同笼

内容: 鸡兔同笼中头的总数,脚的总数,求鸡兔各多少只 输入说明: 一行两个整数分别表示头.脚总数(保证有解,当然有可能解为0) 输出说明: 一行两个整数,分别表示鸡.兔的只数 输入样例: 若题目没有特别说明,则应该以多组测试数据方式读取,或者参考a001. 20 40 输出样例 : 20 0 #include <stdio.h> int main() { int a,b,x,y; scanf("%d%d",&x,&y); for (a=0;a<1000

鸡兔同笼问题多解

还记得有一期跑男里有过一道关于鸡兔同笼的问题,说鸡兔同笼,一共有35个头,94条腿,问鸡有多少只?兔有多少只? 今天突发奇想的想用最近学的java知识做一下这道题,当然,题的结果我是笔算出来的,为了印证输出的正确与否,不多说了,直接上码: 其实从前后顺序看会发现,代码越来越简单,最后甚至都放弃使用循环来完成,完全变成了一个数学公式,但当时自己刚做的时候,我足足死扣了两个小时才清楚了思路,再之后的几个就比较轻松地做出来了. 思路很重要,想要自主完成一个东西一定要有清晰的思路,这只是个非常简单的题目

Open Judge 2750 鸡兔同笼

2750:鸡兔同笼                                                                                                   总时间限制:1000ms                                                                                                   内存限制:65536kB 描述 一个笼子里面关了鸡和兔子(鸡有

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

概述 鸡兔同笼,是古代著名典型趣题之一,记载于<孙子算经>之中,题目为"有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚.问笼中各有多少只鸡和兔?".鸡兔同笼问题,是小学奥数的常见题型,也是计算机编程算法中常见的一道题,现阶段开始shell脚本的学习,因此不妨用脚本来尝试编写一个计算该问题的脚本,加深自己对Linux shell脚本的理解. 算法 在做一道数学题之前,思路是极为重要的,自己如何解决这道题,怎么按照计算机语言的思维来帮助我们计算就成为了首

鸡兔同笼

鸡兔同笼 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 已知鸡和兔的总数量为n,总腿数为m.输入n和m,依次输出鸡和兔的数目,如果无解,则输出"No answer"(不要引号). 输入 第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10) a行里,每行都有一个n和m.(0<m,n<100) 输出 输出鸡兔的个数,或者No answer 样例输入 2 14 32 10 16 样例输出 12 2 No answer #inc

java求鸡兔同笼问题

import java.util.Scanner; public class jitutonglong { static int j,t; public static int qiongju(int head,int foot) { int re,x,y; re=0; for(x=0;x<=head;x++) { y=head-x; if(x*2+y*4==foot) { re=1; j=x; t=y; } } return re; } public static void main(Strin