th0x0472.log

アクセスカウンタ

zoom RSS 世界のナベアツ問題を解いてみました。bashで。

<<   作成日時 : 2011/10/15 00:02   >>

ナイス ブログ気持玉 1 / トラックバック 0 / コメント 1

FizzBuzzを解いたときに次のネタとして書いた、第一回 #showstudy のお題 世界のナベアツ問題を引き続きbashでといてみました。

Wikipedia 見てみたらいろいろ派生形があるようですが、基本仕様の「3の倍数と3が付く数字のときだけアホになります」でいきます。

この解き方は #showstudy 的には間違いなくルール違反 (しょっさんが教えようとしたことを無視してる) ですが・・・。すみません、次はちゃんとCで解きます。


 1  #!/bin/bash
 2  
 3  USAGE="Usage: $0 [INT(N>0)]"
 4  
 5  if [ $# -ne 1 ]
 6  then
 7    echo "${USAGE}"
 8    exit 1
 9  fi
10  
11  MAX=`/usr/bin/expr "$1" : '\([0-9][0-9]*\)'`
12  if [ "${MAX}" != "$1" ]
13  then
14    echo "${USAGE}"
15    exit 2
16  fi
17  
18  if [ "${MAX}" -le 0 ]
19  then
20    echo "${USAGE}"
21    exit 3
22  fi
23  
24  COUNT=1
25  while [ ${COUNT} -le ${MAX} ]
26  do
27    MOD3=$((${COUNT} % 3))
28    INCLUDE3=`/usr/bin/expr index "${COUNT}" "3"`
29  
30    if [ "${MOD3}" -eq 0 -o "${INCLUDE3}" -ne 0 ]
31    then
32      OUTSTR="AHO!!! (${COUNT})"
33    else
34      OUTSTR="${COUNT}"
35    fi
36    echo ${OUTSTR}
37    COUNT=$((${COUNT}+1))
38  done
39  exit 0


かかった時間は・・・。FizzBuzzのをちょこちょこといじっただけなので、ほんのちょっとです。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
ナイス

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
おー
自分も作りましたよ!
なぜか淀○さんにソースをメールしちゃいましたがw
ムナゾー
2011/10/15 11:35

コメントする help

ニックネーム
本 文
世界のナベアツ問題を解いてみました。bashで。 th0x0472.log/BIGLOBEウェブリブログ
文字サイズ:       閉じる