0
當使用Luhn's algorithm時,我們需要確定一個數字是否大於10,以決定是否應該添加數字來繼續驗證過程。有沒有人知道如何把它放在一個腳本中,而不是一個函數?驗證一個號碼
當使用Luhn's algorithm時,我們需要確定一個數字是否大於10,以決定是否應該添加數字來繼續驗證過程。有沒有人知道如何把它放在一個腳本中,而不是一個函數?驗證一個號碼
如果變量是n
你可以測試,如果它${#n}
長度大於1,如果是這樣總結的數字,否則只是通過它通過,例如:
$ n=14; test ${#n} -gt 1 && echo $((${n:0:1} + ${n:1:1})) || echo $n
5
$ n=8; test ${#n} -gt 1 && echo $((${n:0:1} + ${n:1:1})) || echo $n
8
一個簡單的方法: 以9爲模:
$ echo $((inputnum % 9))
eg
$ inputnum=14; echo $((inputnum % 9))
5
$ inputnum=8; echo $((inputnum % 9))
8
但事情是,你不知道它是哪個數字...該算法說,如果一個數字的雙數超過10,那麼你應該使用的數字是其數字的加法。 。但是你不知道它是否是10 11 12 13 14 15 16 17 18或19.這就是爲什麼我問是否有一個腳本,無論數字是多少,直到它的數字總和小於10 –
如果數字大於100,該怎麼辦? – anishsane
@anishsane根據算法的數字將永遠不會超過9 * 2 – mVChr