NYOJ题目64鸡兔同笼

--------------------------

经典水题,我第一次做这种题的时候完全懵逼用蛮力碰....

然而现在我终于学会列方程了....

解此方程:

排除掉小数和负数,得到的就是解。

AC代码:

 1 import java.util.Scanner;
 2
 3 public class Main {
 4
 5     public static void main(String[] args) {
 6
 7         Scanner sc=new Scanner(System.in);
 8
 9         int times=sc.nextInt();
10         while(times-->0){
11             int n=sc.nextInt();
12             int m=sc.nextInt();
13             if(m-2*n<0 || (m-2*n)%2!=0){
14                 System.out.println("No answer");
15             }else{
16                 int y=(m-2*n)/2;
17                 int x=n-(int)y;
18                 System.out.println(x+" "+(int)y);
19             }
20         }
21
22     }
23
24 }

题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=64

时间: 2024-10-21 11:22:15

NYOJ题目64鸡兔同笼的相关文章

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;

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 输出鸡的数量和兔的数量,中间用空格隔开,如果无解则

鸡兔同笼问题多解

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

(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

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

java-第六章-for-解决鸡兔同笼问题

public class A01 { public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 0; i < 35; i++) { int Rabbit = 35 - i; if (i * 2 + Rabbit * 4 == 94) { System.out.println("鸡:"+i + "\t兔子" + Rabbit); } } } }