RosettaCodeData/Task/Look-and-say-sequence/UNIX-Shell/look-and-say-sequence.sh

18 lines
373 B
Bash
Raw Permalink Normal View History

2015-02-20 00:35:01 -05:00
lookandsay() {
local num=$1 char seq i
for ((i=0; i<=${#num}; i++)); do
char=${num:i:1}
if [[ $char == ${seq:0:1} ]]; then
seq+=$char
else
[[ -n $seq ]] && printf "%d%s" ${#seq} ${seq:0:1}
seq=$char
fi
done
}
for ((num=1, i=1; i<=10; i++)); do
echo $num
num=$( lookandsay $num )
done