2013-09-26 24 views

回答

1

如果变量是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 
+0

但事情是,你不知道它是哪个数字...该算法说,如果一个数字的双数超过10,那么你应该使用的数字是其数字的加法。 。但是你不知道它是否是10 11 12 13 14 15 16 17 18或19.这就是为什么我问是否有一个脚本,无论数字是多少,直到它的数字总和小于10 –

+0

如果数字大于100,该怎么办? – anishsane

+0

@anishsane根据算法的数字将永远不会超过9 * 2 – mVChr

0

一个简单的方法: 以9为模:

$ echo $((inputnum % 9)) 

eg

$ inputnum=14; echo $((inputnum % 9)) 
5 

$ inputnum=8; echo $((inputnum % 9)) 
8