成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用 Linux 命令玩一個有趣的數學游戲

系統 Linux
像許多人一樣,我在大流行期間看了不少新的電視節目。我最近發現了一個英國的游戲節目,叫做 Countdown,參賽者在其中玩兩種游戲:一種是 單詞 游戲,他們試圖從雜亂的字母中找出最長的單詞;另一種是 數字 游戲,他們從隨機選擇的數字中計算出一個目標數字。因為我喜歡數學,我發現自己被數字游戲所吸引。

[[397250]]

在家玩流行的英國游戲節目 “Countdown” 中的數字游戲。

像許多人一樣,我在大流行期間看了不少新的電視節目。我最近發現了一個英國的游戲節目,叫做 Countdown,參賽者在其中玩兩種游戲:一種是 單詞 游戲,他們試圖從雜亂的字母中找出最長的單詞;另一種是 數字 游戲,他們從隨機選擇的數字中計算出一個目標數字。因為我喜歡數學,我發現自己被數字游戲所吸引。

數字游戲可以為你的下一個家庭游戲之夜增添樂趣,所以我想分享我自己的一個游戲變體。你以一組隨機數字開始,分為 1 到 10 的“小”數字和 15、20、25,以此類推,直到 100 的“大”數字。你從大數字和小數字中挑選六個數字的任何組合。

接下來,你生成一個 200 到 999 之間的隨機“目標”數字。然后用你的六個數字進行簡單的算術運算,嘗試用每個“小”和“大”數字計算出目標數字,但使用不能超過一次。如果你能準確地計算出目標數字,你就能得到最高分,如果距離目標數字 10 以內就得到較低的分數。

例如,如果你的隨機數是 75、100、2、3、4 和 1,而你的目標數是 505,你可以說 2+3=55×100=5004+1=5,以及 5+500=505。或者更直接地:(2+3)×100 + 4 + 1 = 505

在命令行中隨機化列表

我發現在家里玩這個游戲的最好方法是從 1 到 10 的池子里抽出四個“小”數字,從 15 到 100 的 5 的倍數中抽出兩個“大”數字。你可以使用 Linux 命令行來為你創建這些隨機數。

讓我們從“小”數字開始。我希望這些數字在 1 到 10 的范圍內。你可以使用 Linux 的 seq 命令生成一個數字序列。你可以用幾種不同的方式運行 seq,但最簡單的形式是提供序列的起始和結束數字。要生成一個從 1 到 10 的列表,你可以運行這個命令:

  1. $ seq 1 10
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10

為了隨機化這個列表,你可以使用 Linux 的 shuf(“shuffle”,打亂)命令。shuf 將隨機化你給它的東西的順序,通常是一個文件。例如,如果你把 seq 命令的輸出發送到 shuf 命令,你會收到一個 1 到 10 之間的隨機數字列表:

  1. $ seq 1 10 | shuf
  2. 3
  3. 6
  4. 8
  5. 10
  6. 7
  7. 4
  8. 5
  9. 2
  10. 1
  11. 9

要從 1 到 10 的列表中只選擇四個隨機數,你可以將輸出發送到 head 命令,它將打印出輸入的前幾行。使用 -4 選項來指定 head 只打印前四行:

  1. $ seq 1 10 | shuf | head -4
  2. 6
  3. 1
  4. 8
  5. 4

注意,這個列表與前面的例子不同,因為 shuf 每次都會生成一個隨機順序。

現在你可以采取下一步措施來生成“大”數字的隨機列表。第一步是生成一個可能的數字列表,從 15 開始,以 5 為單位遞增,直到達到 100。你可以用 Linux 的 seq 命令生成這個列表。為了使每個數字以 5 為單位遞增,在 seq 命令中插入另一個選項來表示 步進

  1. $ seq 15 5 100
  2. 15
  3. 20
  4. 25
  5. 30
  6. 35
  7. 40
  8. 45
  9. 50
  10. 55
  11. 60
  12. 65
  13. 70
  14. 75
  15. 80
  16. 85
  17. 90
  18. 95
  19. 100

就像以前一樣,你可以隨機化這個列表,選擇兩個“大”數字:

  1. $ seq 15 5 100 | shuf | head -2
  2. 75
  3. 40

用 Bash 生成一個隨機數

我想你可以用類似的方法從 200 到 999 的范圍內選擇游戲的目標數字。但是生成單個隨機數的最簡單的方案是直接在 Bash 中使用 RANDOM 變量。當你引用這個內置變量時,Bash 會生成一個大的隨機數。要把它放到 200 到 999 的范圍內,你需要先把隨機數放到 0 到 799 的范圍內,然后加上 200。

要把隨機數放到從 0 開始的特定范圍內,你可以使用模數算術運算符。模數計算的是兩個數字相除后的 余數。如果我用 801 除以 800,結果是 1,余數是 1(模數是 1)。800 除以 800 的結果是 1,余數是 0(模數是 0)。而用 799 除以 800 的結果是 0,余數是 799(模數是 799)。

Bash 通過 $(()) 結構支持算術展開。在雙括號之間,Bash 將對你提供的數值進行算術運算。要計算 801 除以 800 的模數,然后加上 200,你可以輸入:

  1. $ echo $(( 801 % 800 + 200 ))
  2. 201

通過這個操作,你可以計算出一個 200 到 999 之間的隨機目標數:

  1. $ echo $(( RANDOM % 800 + 200 ))
  2. 673

你可能想知道為什么我在 Bash 語句中使用 RANDOM 而不是 $RANDOM。在算術擴展中, Bash 會自動擴展雙括號內的任何變量. 你不需要在 $RANDOM 變量上的 $ 來引用該變量的值, 因為 Bash 會幫你做這件事。

玩數字游戲

讓我們把所有這些放在一起,玩玩數字游戲。產生兩個隨機的“大”數字, 四個隨機的“小”數值,以及目標值:

  1. $ seq 15 5 100 | shuf | head -2
  2. 75
  3. 100
  4. $ seq 1 10 | shuf | head -4
  5. 4
  6. 3
  7. 10
  8. 2
  9. $ echo $(( RANDOM % 800 + 200 ))
  10. 868

我的數字是 751004310 和 2,而我的目標數字是 868

如果我用每個“小”和“大”數字做這些算術運算,并不超過一次,我就能接近目標數字了:

  1. 10×75 = 750
  2. 750+100 = 850
  3.  
  4. 然后:
  5.  
  6. 4×3 = 12
  7. 850+12 = 862
  8. 862+2 = 864

只相差 4 了,不錯!但我發現這樣可以用每個隨機數不超過一次來計算出準確的數字:

  1. 4×2 = 8
  2. 8×100 = 800
  3.  
  4. 然后:
  5.  
  6. 75-10+3 = 68
  7. 800+68 = 868

或者我可以做 這些 計算來準確地得到目標數字。這只用了六個隨機數中的五個:

  1. 4×3 = 12
  2. 75+12 = 87
  3.  
  4. 然后:
  5.  
  6. 87×10 = 870
  7. 870-2 = 868

試一試 Countdown 數字游戲。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-04-25 19:00:15

Linux終端命令

2021-08-23 15:14:09

Linuxat命令任務

2010-08-18 08:53:53

Scala

2013-12-23 11:01:14

命令Linux命令

2017-03-06 16:45:36

Linux命令動畫演示

2018-06-12 15:10:11

Linuxvim命令PacVim

2016-11-03 08:52:38

Linux開源系統

2023-03-13 08:47:06

CSS數學函數

2015-05-25 10:40:22

Linux命令行技巧

2019-09-23 09:11:02

Python文本編輯器操作系統

2013-12-13 08:59:15

C++游戲

2022-04-20 10:43:24

Linux命令

2021-04-11 10:08:50

LinuxLinux命令ntpdate

2021-04-13 10:25:57

Linux命令pstree

2009-07-25 17:24:45

2015-10-14 10:45:04

linux命令less

2020-11-30 06:20:13

javascript

2022-03-24 07:57:58

Python水果忍者游戲

2021-05-28 09:51:32

開源技術 工具

2022-03-30 09:01:37

CSS屬性函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区免费在线观看 | 国产在线视频一区二区 | 欧美日韩在线免费 | 午夜激情影院 | 成人福利电影 | 精品一级电影 | 亚洲精品国产精品国自产在线 | 日韩一区二区久久 | 成人精品福利 | 在线免费观看毛片 | 国产精品视频一二三区 | 伊人导航 | 黄免费观看视频 | 成人午夜电影在线观看 | 国产精品久久久久久久久久 | 一区二区三区视频 | 中文字幕精品一区二区三区在线 | 韩日一区二区三区 | 欧美三级网站 | 在线黄| 国产一级视频在线播放 | 91精品久久久久久久久 | 亚洲福利视频网 | 久久久国产一区 | 亚洲精品乱码久久久久久蜜桃91 | 999热精品视频 | 欧美综合视频 | 国产精品一区二 | 黄网站涩免费蜜桃网站 | 欧美久久久网站 | 成人精品一区亚洲午夜久久久 | 精品网| 国产成人av一区二区三区 | 成年人黄色一级毛片 | 毛片a级 | 欧美成人一区二区三区片免费 | 国产欧美视频一区 | 99精品网| 91高清视频在线观看 | 成人免费在线观看 | 国产欧美在线一区二区 |