简单Linux脚本实现《鸡兔同笼》数学题的自动计算~!

简单shell脚本计算《鸡兔同笼》数学名题

鸡兔同笼是中国古代的数学名题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

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

解题方法:假如让鸡抬起一只脚,兔子抬起2只脚,还有94÷2=47(只)脚。笼子里的兔就比鸡的脚数多1,这时,脚与头的总数之差47-35=12,就是兔子的数量,在用35-12=13就是鸡的数量。

下面我们编写一个简单的linux脚本来实现输入脚和头的数量自动计算出鸡和兔子的数量:

图片1

只需要按照解题的数学逻辑,将输入的值赋值给相应的变量,再用变量去做相应是数学运算即可计算出鸡和兔子的数量,代码如下:

#!/bin/bash

read -p “please input head number :” m       #提示输入头的数量,将输入的数量赋值到 m 变量中

read -p “please input foot number :” n       #提示输入脚的数量,将输入的数量赋值到 n 变量中

rabbit=$[$n/2-$m ]                      #将输入的n变量的值除以2,并减去头的数量,得出的值即为兔子的数量,并赋值到rabbit 变量中

chook=$[$m-$rabbit]                     #将头的数量减去兔子的数量,即为鸡的数量

echo “The number of rabbits are : $rabbit”    #输出兔子的数量

echo “The number of chooks  are : $chook ”  #输出鸡的数量

代码编写完成后,运行此文件,显示结果如下图所示,只需要填入数量即可计算出鸡和兔子的数量,一个简单的shell程序就完成了。

图片2

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/104539

(6)
PoPoPoPo
上一篇 2018-08-05 16:08
下一篇 2018-08-05 16:30

相关推荐

  • ansible httpd

    卸载服务ansible all -m shell -a ‘yum -y remove nginx’ 检查用户 组 uid gidansible all -m shell -a ‘getent passwd nginx’ansible all -m shell -a ‘getent group ngi…

    Linux笔记 2018-07-23
  • linux用户组命令使用方法

    实现用户账号的管理,要完成的工作主要有如下几个方面:
    用户账号的添加、删除与修改。
    用户口令的管理。
    用户组的管理。

    Linux笔记 2018-04-05
  • shell 脚本进阶 ,启动流程和故障排错

    shell 脚本进阶 ,启动流程和故障排错

    2018-05-06
  • 马哥网络班第31期——第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
    3、请使用命令行展开功能来完成以下练习
    (1)创建/tmp目录下的:a_c,a_d,b_c,b_d
    (2)创建/tmp/mylinux目录下的:
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
    12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中

    Linux笔记 2018-07-18
  • ansile

    ansible ansible 是一个自动化运维工具,他是基于python语言实现,基于openssh安全的工具 特性: 1)幂等性:一个任务执行1遍和执行n遍效果一样 ,不因重复执行带来意外情况2)无需代理不依赖PKI(无需ssl)3)可使用任何编程语言写模块4)YAML格式,编排任务,支持丰富的数据结构5)较强大的多层解决方案 ansible可以直接由一…

    Linux笔记 2018-06-04
  • Linux中 profile、bashrc、bash_profile三配置文件之间的区别和联系

    在上课中有关注到王老师,对于环境配置参数的修改,由于不太懂,在网上搜索得到的结果,分享给大家

    Linux笔记 2018-07-30