部屋を掃除したら漫画が沢山出てきたので書く日記

漫画とか合唱とかUNIXとかLinuxとかについて書く日記です。

bshで世界のナベアツ問題

以前やったFizzBazz問題の類似で、世界のナベアツ問題というものが。

「3の倍数と3の付く数字だけアホになり、8の倍数だけ気持ち良くなる」

というプログラムを作るというものです。この着想は素晴らしい!
またまたスマートでもなく汎用性も無いですがbshで作ってみましたよ。

#!/bin/sh
i=1;
while [ $i -le 40 ];do
aho=`expr $i % 3`
aho2=$i
aho3=0;
        if [ $aho2 -ge 10 ];then
         while [ $aho2 -gt 10 ];do
         aho2=`expr $aho2 - 10`
         aho3=`expr $aho3 + 1`
        done
        fi
ii=`expr $i % 8`
        if [ $ii -eq 0 ];then
         echo "$iぅぅういえぇえあ"
        elif [ $aho -eq 0 -o $aho2 -eq 3 -o $aho3 -eq 3 ];then
         echo "$iっ!!"
        else
         echo "$i"
        fi
i=`expr $i + 1`
done

実行するとこんな感じ。

-bash-3.00$ ./nabeatu.sh
1
2
3っ!!
4
5
6っ!!
7
8ぅぅういえぇえあ
9っ!!
10
11
12っ!!
13っ!!
14
15っ!!
16ぅぅういえぇえあ
17
18っ!!
19
20
21っ!!
22
23っ!!
24ぅぅういえぇえあ
25
26
27っ!!
28
29
30っ!!
31っ!!
32ぅぅういえぇえあ
33っ!!
34っ!!
35っ!!
36っ!!
37っ!!
38っ!!
39っ!!
40ぅぅういえぇえあ

僕は到底ついていけませんが、はてなワンライナー達の参戦が待たれます。
ではー。