• 締切済み

ナンバープレースのアルゴリズム。

ナンバープレースを解くアルゴリズムを考えてフローチャート提出という課題がでました。 私は今までナンバープレースを解いたことがなく、普通に解くだけでも苦労しています。 そこでなんとなく理屈はわかるのですが、これをフローチャートにしろというのはちょっと厳しいです・・・。 これをフローチャートに書くとしたらすごい数の条件分岐と長いフローになってしまうような気が・・・。 なんかアルゴリズムの全体像が見えません。 どういう風に考えたらナンバープレースのややこしいとき方をフローに書くことができるでしょうか?

みんなの回答

  • jppy
  • ベストアンサー率14% (14/99)
回答No.1

google で結構出てくる。 ここで説明するより分かりやすいと

参考URL:
http://www.google.co.jp
usui323
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのVBA 条件分岐を使ったフローチャート

    先日教えていただいた条件分岐プログラムを使ってフローチャートの処理を組んでみようと思ったのですが、なにぶん初心者なもので直ぐに壁にぶち当たってしまいうまく行きません。 添付の画像のようなフロー処理を考えております どうか、よろしくお願いします。

  • モジュールフローとは?

    プログラミング超初心者です。 社内研修の事前課題で プログラムの仕様が日本語で箇条書きで書いてあり そのモジュールフローを書けという事前課題があります。 モジュールフローというのは、フローチャートのことですか? それとも、処理ロジックを下記のように書くのでしょうか?   Sub ○○処理()    Dim i As Integer     IF 条件1のとき     ~   End Sub 「一応、フォーマットは問いません。」とは記載されていましたが 一般的に、モジュールフローを書けといわれた場合 どのようなものを書くものなんですか? 初歩的な質問で申し訳ありません。 よろしくお願いします。

  • 遺伝的アルゴリズムの評価式に関する質問です。

    膨大な数の組み合わせから正解の組み合わせを求めるという大規模組み合わせ問題があったとします。 このような問題を遺伝的アルゴリズムを用いて解こうとしているのですが、今用いている評価式より良いアイデアが自分では考えつかなかったため質問します。 以下、問題や用いている遺伝的アルゴリズムに関する詳しい説明です。 例えば、仮に、23, 21, 65, 78, 43, 78, 83, 56, 78 ,89 の10個の数の組み合わせがあるとき、 合計して109になる組み合わせ(23,21,65)を見つけたいという問題です。(正解の組み合わせは複数個あっても、一個見つかれば良い。また正解の組み合わせは必ずあるものとする。) この問題を遺伝的アルゴリズム(GA)を使って解くとします。 以下、簡単なGAの説明です。 表現型に2進数ビット列を用いる。 個体数は200とし、初期個体はランダムで生成する。 評価式はf(x) = b/(b+|b-t|)(bは正解の組み合わせの合計値で、tは2進数ビット列で1を立てた場所の数の合計値である。)。終了条件はこの評価値がf(x)=1になることである。 交叉は一様交叉で突然変異も行う。 表現型について詳しく説明すると、 コード化に 0と 1の並びである2進数ビット列を用いて、 その場所に対応する数を加算する場合は1を, 逆に加算しない場合は0を遺伝子の表現型に立てビット列を生成しました。 例えば今回の正解の組み合わせ(109)を2進数ビットで表すと下のようになる。 23, 21, 65, 78, 43, 78, 83, 56, 78 ,89 1 1 1 0 0 0 0 0 0 0 ←2進数ビットを用いた表現型。 (1が立っている場所の数が加算されて合計で109となり、これが正解の組み合わせであることがわかる。) そして、この遺伝的アルゴリズムの評価式を f(x) = b/(b+|b-t|) とします。(bは正解の組み合わせの合計値で、tはビット列で1を立てた場所に対応する数の合計値である。) 評価式f(x)=1になる、つまり正解の組み合わせが見つかれば、遺伝的アルゴリズムは終了する。 この評価式で遺伝的アルゴリズムを回しているのですが、この簡単な評価式では近似解に陥ったとき、解を求めるのがどうしても遅くなってしまいます。 全体的に長く、わかりにくい説明で申し訳ないのですが、この評価式の改善案、またはこの遺伝的アルゴリズムの改善案などがあれば教えていただきたいです。 以上、よろしくお願いします。

  • データを取得して、同じ種類毎に区分する良いやり方はありませんか。

    こんばんは。質問させて頂きます。 C言語で、pcap.hを使った通信フローの区分けをしたいと考えています。区分けの条件は、 1.送受信アドレスが同じであること(送受が逆でも同一) 2.送受信ポートが同じであること(送受が逆でも同一) の2つで、これらを全て満たしているパケットは同一の通信フローと見なし、その通信フローの数を数えるプログラムを目指しています。 パケットをキャプチャするところまではいったのですが、パケットデータを区分けするアルゴリズムが思い浮かばず困っています。どなたかお力添えを頂けないでしょうか。どうぞよろしくお願いします。

  • エクセルVBAで数独

     エクセルのVBAを使って、ナンバープレイス(数独?)の問題を創りたいのですが、どうすれば良いでしょう?  一応、以下の条件で自分で組んでみました。  ○各マス目で、「縦9マス」「横9マス」「3×3マス」中に有る数字を【1~9】内から消去し、残った数字内からランダムで挿入する数字を決定する。  ○処理中に、どうしても決定できないマス目が発生した場合は、決定済みのマス目をある程度チャラにし(処理を戻って)やり直す。  ○上記方法で、1~81までのマス目を埋めていく。  ○最後に、適当な数のマス目の数字を消去する。  一問作成するのに結構な時間がかかる上、時には完成しない(やり直し続ける)事態が発生します。  何か良い方法(アルゴリズム?)が有ったらご教示願います。  (…アルゴリズムを質問するのは、カテゴリー違いでしょうか?)

  • フローチャート(本当に困ってます)

    フローチャートを書くレポートが出ているのですが、書き方が全く分かりません。 今日のお昼までに提出しないと留年対象になってしまいます。 なので以下のフローチャートの書き方を教えてください。 本当に困っていますm(_)m 1、変数x,yにキーボードより一文字ずつ入力し、その変数を変換後結果を画面出力するフローチャートを書け 2、変数x,yよりキーボードから数字を入力し、加算、減算、かける、わる、を行いディスプレイに表示せよ 3、縦Acm横Bcmの長方形の面積S平方メートルを求めるフローチャートを作成せよ 4、信号を見て、青なら渡るアルゴリズムフローチャートを書け 5、キーボードから数字を入力して100以下なら小さいと、100を超えていれば大きいと表示せよ 6、1文字入力し、大文字A~Zならば大文字と、小文字a~zなら小文字と表示するフローチャート 7、課題2をケース構造にて書き直せ 8、画面に自分の名前を100回表示する 9、画面に1~10までの数字を表示する(カウンター変数を表示すればよい) 10、画面に10~1までの数字を表示する 11、画面に1~500までの値の合計を表示する 12、クラスの平均身長が知りたい(クラスの人数が分かっているとき) 13、クラスの平均身長が知りたい(クラスの人数が分からないとき) よろしくお願いしますm(_)m

  • 提出課題について

    ある企業に求人をしましたがその提出課題の中にPowerPointを使って自己PRスライド資料を提出が条件となりました。 PowerPointはサイトを見て使い方が分かりますが自己PRスライドとはどんな風に書けばよいかわかりません。 また一枚ではなく何枚か多く作った方がよいのでしょうか?

  • ナンバープレース どこが間違ってる?

    何度確認してもどこが間違っているのかわかりません。 わかる方がいましたら、教えてください。

  • ナンバープレイスの解き方③

    申し訳ありませんが、下記の場合について、まずどこに着目して 答えを導き出せばよいのか解説付きでご解答宜しくお願いいたします。 このような場合(AEGにまたがって同じ数字があるような場合)に遭遇すると、いつもつまづいてしまうような気がするのですが… 宜しくお願いいたします

  • ナンバープレース

    よくナンプレを解きますが、どうしても解けないのがサムナンプレと1つちがいナンプレ。 この2つのナンプレを解く方法もしくは支援プログラムがあれば教えていただきたい。