3冊!意外と知らない?Twitterで使えるおすすめのツイート検索方法!これで5点UP!カラオケで歌を上手く歌えるようになるコツブロガー必読の価値あり!「沈黙のWebライティング」の感想。こんにちは、鈴木俊吾(すずしん)です。前回に初めてアプリを作成して公開してから、また別のアプリの制作を開始しまして...。その名も「数独(ナンプレ)ソルバー」です。だいたい名前からして何をするアプリかは分かるとは思いますが、一応紹介させていただきます。数独(ナンプレ)というのは、9x9のマス目に1~9の数字を入れていくというペンシルパズルです。行、列、太線で囲まれた3x3のブロックのどれにも、1~9までの数字が1つずつ入るようにします。「数独(ナンプレ)ソルバー」は、その数独(ナンプレ)の問題を自動で解くアプリです。何かプログラムで問題を解くというのをやりたいなとなって、まず最初に思いついたのが数独を解くということでした。数独は私も好きなパズルですし、単純な解法アルゴリズムであれば実装もしやすいと考えました。需要も最初のアプリよりはありそうですので、作ってみる価値はあるだろうということで実際に作成してみました。解法アルゴリズムとしては、バックトラック法と呼ばれる単純なものです。空きマスに対して1~9の中で候補となる数字を入れてみて、全てのマスをルールに従って埋めることができれば成功です。途中で候補となる数字が無い場合は失敗となり、戻って別の数字を試します。いわゆる総当たりですね。9x9のサイズであれば、これほど単純なアルゴリズムでも実用的な速度で解くことが出来ます。使い方まずは数独の問題を入力します。入力したいマスをタップして、選択されていることを表す赤い枠がそのマスに表示されていることを確認します。その後、入力したい数字のボタンを押します。すると、選択したマスに数字が入力されます。この手順を繰り返して、数独の問題にある数字を全て入力してください。メニューから「解く」(鉛筆マークのアイコン)をタップしてください。すると、入力された数独の問題を解き始めます。入力された数独の問題を解き終わると結果が表示されます。正常に解くことができれば、数独のマスに赤字で正解の数字が表示されます。「Solved!」というメッセージとともに問題を解くのにかかった時間が表示されます。solved!」というメッセージとともに、解けないと判定されるまでにかかった時間が表示されます。入力した問題を削除(クリア)したい場合には、メニューの「削除」(ゴミ箱のアイコン)をタップしてください。すると、数字の入力がクリアされて初期状態に戻ります。別の問題を入力したい場合には、クリアしてもう一度数字を入力してください。Playからできます。以下にリンクを貼っておきますので、そこから移動すると楽だと思います。ダウンロードして実際に使ってみてください。アプリーチひとこと数独(ナンプレ)ソルバーを使って数独の問題を解くと、「あっ、プログラムで問題を解いているなぁ」という気持ちになりますね。一瞬で解けるので、プログラムの力ってすごいなぁと思いますよ。現状は9x9のみのサポートですが、いずれは16x16の問題にも対応できるようにしたいです。その場合には、現在のバックトラック法では遅すぎてダメでしょうね。人間が解くときに使うような方法で解く必要がありそうです。これについては今後の検討課題ですね。何か意見や要望などがあれば、ぜひコメントを頂けるとありがたいです。実際に使ってみた感想だけでもうれしいです。1人でも多くの人にこのアプリを利用してもらいたいですね。17:29Androidアプリ「数独(ナンプレ)ソルバー」を公開しました!シェアするBookmark!FacebookTwitterGoogle+Pocket鈴木俊吾(すずしん)無職。目指し合格するも、なぜか辞退。長い無職期間が続くうちに統合失調症を発症。4度の入院を経験し、心身ともにボロボロとなる。趣味でブログを運営しているうちに、文章を書く仕事に興味を持ち、フリーライターになることを志す。文章を通して人と人とをつなげたいという想いを持っている。基本的に、どんなジャンルの記事でも誠意をもって取り組む姿勢である。ブログでは、様々なテーマ(オピニオン・グルメ・プログラミング・音楽・日記など)を扱った記事を執筆。90,000PV/月のアクセスを集める。質問、仕事の依頼などのお問い合わせはこちらからどうぞ。はてなブログPro現在は無職。しいプロフィールについてはこちらを参照してください。質問、仕事の依頼などのお問い合わせはこちらからどうぞ。当ブログのプライバシーポリシーについては、以下の記事を参照してください。www.suzushin7.jpはてなブログをはじめよう!Suzushinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。