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