有乙個 8 公升的瓶子裝滿水,還有乙個 5 公升的空瓶子和乙個 3 公升的空瓶子。
要求將水分成兩個 4 公升。
執行指令碼之後要生產類似這樣的解決方案:
your containers: 8 5 3
solution1 step0: 8–>0–>0
solution1 step1: 3–>5–>0
solution1 step2: 3–>2–>3
solution1 step3: 6–>2–>0
solution1 step4: 6–>0–>2
solution1 step5: 1–>5–>2
solution1 step6: 1–>4–>3
solution1 step7: 4–>4–>0
#!/bin/bash
cup_tol=
(8 5 3)
cup=
(8 0 0)
temp=0
n=0j=0
for((i=
0;i<
8;i++
))do
((i==
3?j++:0
)) ((i==
4?j++:0
)) nowi=
$((j%3))
next=
$(((j+1)
%3)) echo
"solutionl step$i: $-->$-->$"
(( temp=cup[nowi]-
(cup_tol[next]-cup[next])
)) if
[$temp -ge 0 ]
;then
let cup[nowi]
=temp
let cup[next]
=cup_tol[next]
else
let cup[next]+=cup[nowi]
let cup[nowi]
=0 fi
let j++
done
乙個shell指令碼
之前學過shell指令碼,但是工作中一直沒有用到,今天由於要搞乙個定時任務,為了防止重複啟動php指令碼,就需要寫乙個shell,下面是指令碼內容 bin bash 宣告要使用哪個shell 下面是備註檔案 這可是乙個好習慣奧 date 2012 7 18 version 1.0 設定相關變數 fi...
shell 記錄個人指令碼的乙個高階
該指令碼中運用到工作中常用的shell語法,瑣碎的語法結合起來可以幫助處理工作,解放人力。主要常用的shell知識點 判斷引數是否存在和判斷引數個數 宣告函式 判斷字串相等 判斷字串包含 判斷陣列內容和陣列個數,並迴圈陣列 if多條件語法 sed 記錄該指令碼,是為了記錄一些基礎語法,未來忘了可以翻...
乙個簡單的Shell指令碼
最近新學linux的shell程式設計。試著寫了乙個遍歷資源目錄的子目錄,每個資源子目錄中拷貝10個檔案到目標目標的小指令碼。沒有什麼技術含量,只是防止自己忘記。bin sh srcroot vsu data2 datasource npm fiveminute srcpath null myroo...