最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell實(shí)現(xiàn)FizzBuzzWhizz問(wèn)題示例(拉勾網(wǎng)面試題)

 更新時(shí)間:2014年05月05日 10:46:02   作者:  
這篇文章主要介紹了shell實(shí)現(xiàn)FizzBuzzWhizz問(wèn)題示例(拉勾網(wǎng)面試題),需要的朋友可以參考下

試題: https://www.jinshuju.net/f/EGQL3D

語(yǔ)言: Shell (Bash)
運(yùn)行方式:
sh num-game.sh 數(shù)字1 數(shù)字2 數(shù)字3
如果不想使用傳遞數(shù)字的方式, 可以修改 num-game.sh 第 9 行, 將
NUM=$*
改為
NUM='數(shù)字1 數(shù)字2 數(shù)字3'
然后直接運(yùn)行 sh num-game.sh 即可

復(fù)制代碼 代碼如下:

#!/bin/bash

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

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

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

## 檢查輸入的數(shù)字個(gè)數(shù)是否為 3 個(gè)
function CT () {
    [ $( echo $* | sed 's/ /\n/g' | wc -l ) != '3' ] && echo " Please Enter 3 Number ! " && exit 1
}

CT $NUM

## 個(gè)位數(shù)列表
NT='1/2/3/4/5/6/7/8/9'

## 檢查輸入的數(shù)字是否為個(gè)位數(shù)
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

## 判斷是否有重復(fù)的數(shù)字
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

相關(guān)文章

  • 設(shè)置Linux系統(tǒng)的空閑等待時(shí)間TMOUT的方法

    設(shè)置Linux系統(tǒng)的空閑等待時(shí)間TMOUT的方法

    下面小編就為大家?guī)?lái)一篇設(shè)置Linux系統(tǒng)的空閑等待時(shí)間TMOUT的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • shell自動(dòng)安裝python3的腳本寫(xiě)法

    shell自動(dòng)安裝python3的腳本寫(xiě)法

    這篇文章主要介紹了shell自動(dòng)安裝python3的腳本寫(xiě)法,本文給大家提到了shell腳本一鍵安裝python3+pip的方法,需要的朋友可以參考下
    2019-12-12
  • Linux paste命令用法匯總

    Linux paste命令用法匯總

    paste命令是linux下的一個(gè)文件管理命令,paste命令可以把每個(gè)文件以列對(duì)列的方式,然后一列列地加以合并,也就是合并兩個(gè)文件,這篇文章主要介紹了Linux paste命令使用方法,感興趣的朋友一起看看吧
    2022-12-12
  • Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用

    Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用

    這篇文章主要介紹了Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用,本文先是給出了需求和需求分析,然后給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-12-12
  • bash if條件判斷的使用

    bash if條件判斷的使用

    本文主要介紹了bash if條件判斷的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • linux shell命令的常用快捷鍵

    linux shell命令的常用快捷鍵

    下面是一些shell的常用快捷鍵,快捷鍵玩熟悉了在一定程度上是可以提高工作效率滴
    2013-01-01
  • Shell腳本運(yùn)行環(huán)境及基本使用方法

    Shell腳本運(yùn)行環(huán)境及基本使用方法

    這篇文章主要為大家介紹了Shell腳本運(yùn)行環(huán)境及基本使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Linux chown命令使用示例

    Linux chown命令使用示例

    Linux chown命令用于設(shè)置文件所有者和文件關(guān)聯(lián)組的命令,chown 需要超級(jí)用戶 root 的權(quán)限才能執(zhí)行此命令,本文給大家分享Linux chown命令使用示例,感興趣的朋友一起看看吧
    2023-03-03
  • awk中讓人郁悶的system()函數(shù)

    awk中讓人郁悶的system()函數(shù)

    system()的結(jié)果是直接返回給shell顯示了,然后再由awk繼續(xù)執(zhí)行后面的程序,這種情況下,if()里留下的其實(shí)是system()的執(zhí)行狀態(tài)【即0或1】”0”~/^[2 3]/,當(dāng)然就一直執(zhí)行else了
    2013-03-03
  • linux find命令將查找到的文件批量刪除方法

    linux find命令將查找到的文件批量刪除方法

    這篇文章主要介紹了linux find命令將查找到的文件批量刪除,文中給大家補(bǔ)充介紹了Linux中find三種刪除方式,常用于crontab定時(shí)任務(wù)和shell腳本,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

五台县| 辉南县| 芦山县| 星子县| 渭源县| 雅安市| 尖扎县| 宜兰市| 疏附县| 龙州县| 连平县| 武平县| 封开县| 南部县| 布尔津县| 彭山县| 汝阳县| 策勒县| 邢台县| 平利县| 紫金县| 大洼县| 吉首市| 宁阳县| 封丘县| 厦门市| 罗源县| 太原市| 宣恩县| 宜兰县| 沛县| 额济纳旗| 建德市| 日土县| 凌海市| 临漳县| 诸城市| 崇左市| 沙坪坝区| 灵武市| 峨边|