• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > shell实现FizzBuzzWhizz问题示例(拉勾网面试题)

shell实现FizzBuzzWhizz问题示例(拉勾网面试题)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了shell 自录视频 问题,shell的简单实现,shell的实现,c语言实现shell,常见问题 填表示例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

试题: https://www.jinshuju.net/f/EGQL3D

语言: Shell (Bash)
运行方式:
sh num-game.sh 数字1 数字2 数字3
如果不想使用传递数字的方式, 可以修改 num-game.sh 第 9 行, 将
NUM=$*
改为
NUM='数字1 数字2 数字3'
然后直接运行 sh num-game.sh 即可

## Author : TaxKiz
## Email  : taxkiz@gmail.com

export PATH='/bin:/sbin:/usr/bin:/usr/sbin'

## NUM='3 5 7'
NUM=$*

## 检查输入的数字个数是否为 3 个
function CT () {
    [ $( echo $* | sed 's/ /\n/g' | wc -l ) != '3' ] && echo " Please Enter 3 Number ! " && exit 1
}

CT $NUM

## 个位数列表
NT='1/2/3/4/5/6/7/8/9'

## 检查输入的数字是否为个位数
function CK () {
    for num in $*
    do
        [ $num == '0' ] && echo "Error Number '$num'" && exit 2
        echo $NT | grep "\b$num\b" > /dev/null 2>&1
        [ $? != '0' ] && echo "$num is not a single digit" && exit 3
    done
}

CK $NUM

## 判断是否有重复的数字
function SN () {
    if [ $1 == $2 ] || [ $1 == $3 ] || [ $2 == $3 ]; then
        echo "ERROR! There have same number : '$*'"
        exit 4
    fi
}

SN $NUM

## 大喊一声
function GO () {

    A1=$1
    A2=$2
    A3=$3

    T1=$(( $1 * $2 ))
    T2=$(( $1 * $3 ))
    T3=$(( $2 * $3 ))

    TA=$(( $1 * $2 * $3 ))

    for num in {1..100}
    do
        echo $num | grep $A1 > /dev/null 2>&1
        [ $? == '0' ] && echo 'Fizz' && continue

        echo "scale=2; $num/$TA" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'FizzBuzzWhizz' && continue

        echo "scale=2; $num/$T1" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'FizzBuzz' && continue

        echo "scale=2; $num/$T2" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'BuzzWhizz' && continue

        echo "scale=2; $num/$T3" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'FizzWhizz' && continue

        echo "scale=2; $num/$A1" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'Fizz' && continue

        echo "scale=2; $num/$A2" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'Buzz' && continue

        echo "scale=2; $num/$A3" | bc | grep 00 > /dev/null 2>&1
        [ $? == '0' ] && echo 'Whizz' && continue

        echo $num

    done
}

GO $NUM
</div>

</div>

您可能想查找下面的文章:

  • shell自定义函数的6个特点总结
  • shell实现FizzBuzzWhizz问题示例(拉勾网面试题)
  • shell自定义函数及参数调用解析

相关文章

  • Shell脚本配合iptables屏蔽来自某个国家的IP访问
  • Linux中mysqldump命令实例详解
  • Linux Shell脚本系列教程(七):脚本调试
  • shell脚本中取消重定向的方法实例
  • sed找到关键字所在行并将其前面的第一个字符删除的命令
  • linux shell脚本学习录制与回放终端会话
  • shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著)
  • 用模板的方式创建守护进程代码实例
  • linux服务器安全加固shell脚本代码
  • linux进程监控shell脚本代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Shell脚本for循环语句简明教程
    • Bash Shell脚本学习小结
    • Linux rpm命令参数使用大全(经典)
    • linux下防火墙开启某个端口号及防火墙常用命令使用(详解)
    • Shell脚本传参数方法总结
    • Shell中使用plink工具实现远程批量关机
    • shell脚本编写ping包及arp的监控并发送短信功能
    • linux下安装配置Memcache和PHP环境的实现
    • Shell根据web日志计算平均连接时间功能
    • Shell脚本实现复制文件到多台服务器的代码分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有