返回顶部
首页 > 资讯 > 服务器 >shell实现FizzBuzzWhizz问题示例(拉勾网面试题)
  • 193
分享到

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

示例面试题shell 2022-06-04 21:06:53 193人浏览 独家记忆
摘要

试题: https://www.jinshuju.net/f/EGQL3D 语言: shell (Bash)运行方式:sh num-game.sh 数字1 数字2 数字3如果不想使用传递数字的方式, 可以修

试题: 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 即可


#!/bin/bash

## 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$numb" > /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

--结束END--

本文标题: shell实现FizzBuzzWhizz问题示例(拉勾网面试题)

本文链接: https://lsjlt.com/news/17838.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • shell实现FizzBuzzWhizz问题示例(拉勾网面试题)
    试题: https://www.jinshuju.net/f/EGQL3D 语言: Shell (Bash)运行方式:sh num-game.sh 数字1 数字2 数字3如果不想使用传递数字的方式, 可以修...
    99+
    2022-06-04
    示例 面试题 shell
  • Node.js面试问题的示例分析
    这篇文章主要介绍了Node.js面试问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是error-first的回调方式Err...
    99+
    2024-04-02
  • Python面试题实现例子分析
    本篇内容介绍了“Python面试题实现例子分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!面试怎么做在进入 Python 题海之前,我们还...
    99+
    2023-06-16
  • Java如何实现考试奖励的示例问题
    这篇文章主要介绍了Java如何实现考试奖励的示例问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。考试奖励1.题目:快要期末考试了,小明的爸爸说会根据小明的成绩来送他不同的礼...
    99+
    2023-06-29
  • web前端面试问答题实例代码分析
    这篇文章主要介绍“web前端面试问答题实例代码分析”,在日常操作中,相信很多人在web前端面试问答题实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web前端面试问答题实例代码分析”的疑惑有所帮助!...
    99+
    2023-07-05
  • Java多线程面试题之交替输出问题的实现
    目录交替输出问题最简单的解法面试官想听到的解法更灵活,更精细的解法交替输出问题 一定要保证交替输出,这就涉及到两个线程的同步问题。 有人可能会想到,用睡眠时间差来实现,但是只要是多...
    99+
    2024-04-02
  • 使用Python实现汉诺塔问题示例
    目录前言1.先谈一下什么是递归?2.简而言之就是:3.过程为:4.递归的关键是:汉诺塔问题1.问题描述2.问题分析 递归的过程:3.代码(Python)4.结果展示前言 汉诺塔问题是...
    99+
    2023-05-17
    Python 实现 Python 汉诺塔问题
  • shell脚本实现Hbase服务的监控报警和自动拉起问题
    目录需求说明1. 通过服务名监控2. 通过端口监控3. 企业微信消息通知脚本4.定时调度5. 报警信息需求说明 期初是我们的物理机上安装了Hbase,由于物理机硬件配置还可以,1T内存,64核。只有4台机器,我们装完Hb...
    99+
    2024-04-02
  • 前端面试官常问的问题:如何实现前端路由?
    前端面试官常问的问题:如何实现前端路由? 前端开发是近年来蓬勃发展的领域,技术的不断更新也让前端开发人员面临着更多的挑战与机遇。在前端开发面试中,前端路由是一个经常被问及的话题之一。实...
    99+
    2024-04-02
  • C++实现LeetCode之加油站问题的示例分析
    这篇文章主要介绍C++实现LeetCode之加油站问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完![LeetCode] 134.Gas Station 加油站问题There are N ...
    99+
    2023-06-20
  • Java实现生产者消费者问题与读者写者问题的示例分析
    这篇文章将为大家详细讲解有关Java实现生产者消费者问题与读者写者问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、生产者消费者问题生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它...
    99+
    2023-05-30
    java
  • Python 面试常见问题:如何在 Django 中实现高效的 Load?
    Django 是一个非常流行的 Python Web 框架,它提供了许多方便的功能,包括快速创建 Web 应用程序、管理数据库、处理用户认证等等。在使用 Django 进行开发时,我们常常会遇到一些性能问题,其中一个常见的问题就是如何在 ...
    99+
    2023-07-30
    面试 django load
  • Java动态规划之硬币找零问题实现示例
    目录问题描述:问题分析:具体的过程如下:动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20...
    99+
    2022-11-13
    Java 硬币找零
  • MySQL自定义变量实现row_number分析函数的问题示例
    小编给大家分享一下MySQL自定义变量实现row_number分析函数的问题示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MySQL经常用自定义变量实现复杂查询,比如row_numbe...
    99+
    2024-04-02
  • Java基于分治算法实现的棋盘覆盖问题示例
    本文实例讲述了Java基于分治算法实现的棋盘覆盖问题。分享给大家供大家参考,具体如下:在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。四个L型骨牌如下图:棋盘...
    99+
    2023-05-30
    java 分治算法 棋盘覆盖
  • 面试官最爱问的问题之一:如何在Go开发中实现高效并发?
    Go是一种非常流行的编程语言,因为它具有高效的并发编程能力。在Go开发中,高效的并发是至关重要的,因为它可以大大提高系统的性能和可靠性。本文将探讨如何在Go中实现高效并发,介绍一些最佳实践和示例代码。 使用goroutine Go的核...
    99+
    2023-06-28
    开发技术 面试 并发
  • 面试官最爱问的问题:GO语言中缓存与并发是如何实现的?
    在进行面试的时候,很多人都会遇到这样一个问题:GO语言中缓存与并发是如何实现的?这个问题似乎比较难,但是只要你理解了GO语言的基本原理,就能轻松回答这个问题。 GO语言中的缓存实现 GO语言中的缓存实现主要分为两种:内存缓存和磁盘缓存。内...
    99+
    2023-07-27
    面试 缓存 并发
  • Linux实现ARP缓存老化时间原理问题的示例分析
    这篇文章主要介绍Linux实现ARP缓存老化时间原理问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一.问题 众所周知,ARP是一个链路层的地址解析协议,它以IP地址为键值,查询保有该IP地址主机的MAC...
    99+
    2023-06-13
  • Python&Matlab实现蚂蚁群算法求解最短路径问题的示例
    目录1 知识点 1.1 蚁群算法步骤1.2 蚁群算法程序2 蚂蚁算法求解最短路径问题——Python实现2.1 源码实现2.2&...
    99+
    2024-04-02
  • Java基于循环递归回溯实现八皇后问题算法示例
    本文实例讲述了Java基于循环递归回溯实现八皇后问题。分享给大家供大家参考,具体如下:运行效果图如下:棋盘接口public interface Piece { abstract boolean isRow(int line); abst...
    99+
    2023-05-31
    java 八皇后 算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作