• 鸡兔同笼问题解决(JAVA) (由浅入深)


    鸡兔同笼 用 “去脚法”来做 简单快捷!

    题目描述

    鸡兔同笼是中国古代著名趣题之一。

    大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”

    这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔?

    输入

    输入一行2个整数分别表示脚的数量和头的数量,2个整数之间用一个空格分开

    输出

    输出2行分别表示鸡的数量和兔子的数量

    算法:

    上代码(详细看注释):

    import java.util.*;
    public class Main {
    public static void main(String[] args)
    {
    	Scanner ch = new Scanner(System.in);
    	int j = ch.nextInt(),t = ch.nextInt(); /*定义 脚 和 头*/
    	int j_1 = j-t;int j_2 = j_1-t;  //第一次抬一只脚, 第二次抬两只脚,鸡就没脚了
    	int tu = j_2 / 2;//鸡没脚了,兔子还有两只脚,就用脚除以兔子的两只脚
    	int ji = t-tu;    知道兔子有多少了,那也知道鸡有多少了...
    	System.out.println(ji);
    	System.out.print(tu);
    }
    }
    

      

    ----------------------------------------升级-----------------------------------------------------

    知道了去脚法 那么我们升级为 去掉两只脚 代码岂不是更简洁和更容易理解吗?
    一下去掉两只脚 那么 鸡 是没有脚的  那么就剩下兔子的脚了   即:

    全部脚 - (2*头【砍去鸡和兔一人一双脚】) = 兔脚
    兔脚 / 2 = 兔子;
    头 - 兔子 = 鸡;

    那么代码如下:

    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) 
        {
            Scanner in = new Scanner(System.in);
            
            int foot  = in.nextInt(),head = in.nextInt(),ji = 0,tu = 0; //输入脚和头,声明鸡和兔
            foot -= 2*head;//脚 = 脚- 砍掉的脚 即:求兔子的脚
            tu = foot / 2; //兔子的数量 = 兔子的脚/2
            ji = head - tu;    // 鸡的数量 = 头 减 兔;
            System.out.print("鸡:" + ji + " 兔:" + tu);
            
            
            
    
    
        }    
    }



    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/13939781.html

  • 相关阅读:
    DMZ区
    集群(cluster)和高可用性(HA)的概念
    JS禁用右键,禁用打印,防止另存为,IE浏览器识别(转载)
    window.open实现模式窗口(只弹出一个window.open)
    Textarea自适应高度 JS实现,兼容IE67891011
    JQ基础语法
    SQL 小笔记
    CSS样式笔记
    IE8下 Select文字垂直居中的办法
    汉字转全拼音函数优化方案(SQLServer),值得你看看
  • 原文地址:https://www.cnblogs.com/bi-hu/p/13939781.html
Copyright © 2020-2023  润新知