Garbage Script on Goo BLOG

某SIerの"元"研究者 兼 情報Security技術者"F.Koryu"の日常の雑記置き場

久々にCで記述>ナベアツ問題

2008-04-11 13:24:56 | 雑記
力試しにナベアツのような判定をするプログラムを... - はてな
ヤマガタさんの処経由。確かに数字だけでアルゴリズムを実現できるのに「一旦文字列に変換して正規表現で判定」ってのは、「刺身を鋸で切っている」ような違和感を感じたのは、自分だけじゃない事に、少しホッとしていたりします(苦笑)。

久々にCで書いてみる事に……時間にして10分もかかっていないです(CentOS 4.6上のgccにてコンパイル、動作確認済み)。今回は1~100までの範囲でやっていますが、変数の型の範囲内であれば、一応は正常に動作する……はず。
---
#include <stdio.h>

int main(void)
{
	int i,j;
	
	for(i = 1;i <= 100;i++)
{ if(i % 3 == 0) printf("[aho]"); else if(i % 5 == 0) printf("[wan]"); else { j = i; while(j > 0) { if(j % 10 == 3) { printf("[aho]"); break; } j = j / 10; } } printf("%dn",i); } return 0; }
---
3を含む値の判定の部分は、ゲームのスコア表示のアルゴリズム(※1)の応用ですね。
---
(※1)一般的なゲームの場合、スコアの数字が画像で表示されますが、その表示を行うために数値データを1桁ずつ分解していく方法の事……この辺は基本中の基本なので、ちょっと調べればサンプルの1つ2つは見つかると思います。

最新の画像もっと見る