プロが教えるわが家の防犯対策術!

4ケタの暗証番号なんですが、忘れてしまったので解読しようと思っています。
ただ、0000からやっていくと飽きてくるので、ランダムに出た番号を入れたいと思っています。
そこで、0000から9999までをランダム表示するプログラムをC#で組みたいと思っているのですが、
やり方がよくわかりません。
できれば一度表示された番号は表示されないようにしたいのですが、どのようにやればよろしいですか?

とりあえず作ってみましたが永久ループなので上記に書いたようにしたいです。
Random rand = new Random();
int a = 0;
while (true) {
a = rand.Next(10000);
Console.WriteLine(a);
}

A 回答 (3件)

 ちょうど手頃と思われるページが見つかったので紹介をしておきます。



C#で始めるプログラミング (8)
第8回 カード・ゲームのプログラミングに挑戦しよう!(下)
http://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/ …

 ここで紹介されているアルゴリズムを応用してみてください。

 これでイケるはず。

参考URL:http://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/ …
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきます

お礼日時:2012/10/14 15:09

携帯電話の暗証番号でしたら、手入力でやるよりも


携帯ショップで相談してみた方がいいと思います。

メーカー側の秘密のパスワードで、暗証番号を解除できるかもしれません。

企業秘密なのでこのQAサイトでは教えて貰えないと思います。


あとは、自分で心当たりがある番号を一つずつ試してメモしていくことでしょうかね。




※念のためですが、他人の携帯電話の暗証番号破りは犯罪です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2012/10/14 13:09

 そのアルゴリズムではすこぶる効率が悪いのでそうではなく。



 配列を1万個用意して下準備を施した上で、「順番をランダムに入れ替える」でどうでしょう?
 これなら重複する組み合わせが発生しないように未然に防ぐ効果があると思います。

 要求に応じて、配列の順番を入れ替える回数を増やしてあげれば、よりランダムに近づいていくと思います。
※並び順をばらばらにしたければ、シャフルする回数を増やす。

この回答への補足

できればサンプルとしてプログラムを教えてください

補足日時:2012/10/14 13:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!