変形Fizz-Buzz問題
Posted feedbacks - Bash
練習を兼ねてBashで書いてみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/bin/bash
CNT=0
while [ $CNT -lt 20 ]; do
if [ $(($CNT % 15)) = 0 ]
then printf "%2s:FizzBuzz\n" $(($CNT+1))
else
if [ $(($CNT % 3)) = 0 ]
then printf "%2s:Fizz\n" $(($CNT+1))
else
if [ $(($CNT % 5)) = 0 ]
then printf "%2s:Buzz\n" $(($CNT+1))
else
printf "%2s:hoge\n" $(($CNT+1))
fi
fi
fi
let CNT+=1
done
|
書き直してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/bash
CNT=1
while [ $CNT -le 20 ]; do
if [ $(($CNT % 15)) = 0 ]; then
printf "%2s:FizzBuzz\n" $CNT
elif [ $(($CNT % 3)) = 0 ]; then
printf "%2s:Fizz\n" $CNT
elif [ $(($CNT % 5)) = 0 ]; then
printf "%2s:Buzz\n" $CNT
else
printf "%2s:hoge\n" $CNT
fi
let CNT+=1
done
|
書き直しました。これでお題を満たしていますでしょうか。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/bash
CNT=0
while [ $CNT -lt 20 ]; do
let CNT+=1
if [ $(($CNT % 15)) = 0 ]; then
printf "%2s:FizzBuzz\n" $CNT
continue
elif [ $(($CNT % 3)) = 0 ]; then
printf "%2s:Fizz\n" $CNT
continue
elif [ $(($CNT % 5)) = 0 ]; then
printf "%2s:Buzz\n" $CNT
continue
fi
printf "%2s:hoge\n" $CNT
done
|
なんか全然Bashじゃないという気も
1 | seq -f%2g: 20|sed '3~3s/$/Fizz/;5~5s/$/Buzz/;s/:$/:hoge/'
|




raynstard
#3758()
Rating0/2=0.00
[ reply ]