• 締切済み

数字が重ならないようにするには

kuruthiusuの回答

回答No.1

Setがいいのではないでしょうか。 Setは重複する要素は追加されません。

参考URL:
http://www.itarchitect.jp/technology_and_programming/-/27077-5.html
mismoon
質問者

お礼

ありがとうございます。 参考URLを元にがんばって勉強し、使えるようになりたいと思います。 ありがとうございました。

関連するQ&A

  • 配列変数に重複のないランダムな数字を入れて行くには?

    JavaScript初心者です。 配列にランダムな数字を入れたいのですが、 aRnd = new Array(); aRnd[0] = Math.floor(Math.random()*100); aRnd[1] = Math.floor(Math.random()*100); aRnd[2] = Math.floor(Math.random()*100); のようにやると各配列にはランダムな数字が入りますが、重複が発生する可能性があります。これを重複が発生しないようにしたいのですが、どのようにすればいいのでしょうか? なお、上記例では0~99までの数字を3つの配列にセットする方法となっていますが、配列数や数字の最大値は変更する可能性があるので、これも配慮したいと思います。 よろしくお願いいたします。

  • ランダムに数字を並び変える方法は

    windows2000 Flash MX 1~9までの数字をランダムに発生させ配列に入れるには v_count=new Array(); for(i=1; i<10; i++) {   v_max=9   v_count[i]=Math.floor(Math.random()*v_max)+1  } と記述しました。 配列に格納されたランダムに発生した数字が9個ありますが当然同じ数字も含まれています。 これを数字が重複しないようにする方法が知りたいのです。 つまり1~9までの数字をランダムに並べ替えたいのですがどのような方法がありますか。教えて下さい。 説明が下手でスミマセン。 ご指摘いただければ補足します。

    • ベストアンサー
    • Flash
  • ○番目に小さい数字を求める関数ってないですか?

    abc(30) というような感じで配列に数字がランダムに入っています。重複はないものとします。 たとえば、2番目に小さい数字を求めたいのですが、簡単に求める方法、たとえば関数のようなものってないですか? ???(abc(30),2) あるとすればこんな感じになるのでしょうか。 言語 VB.NET2003

  • JAVAの演習問題

    JAVAの独学をしている者ですが、演習問題につまづいております。 (for文が終わり、配列のところを現在しています) 解答がない参考書ですので、この場にて質問することにしました。 ご回答頂けると、大変助かります。 問題内容 ・画像で示すように縦向きの棒グラフで表示するプログラムを作成せよ。  キーボードから要素数を読み込み、配列の全要素をランダムな値(0~9)で埋め尽くすこと。  最下段には、インデックスを10で割った剰余を表示すること。  

    • ベストアンサー
    • Java
  • ファイルから数字列を16進数の数字列として読み込むためには?

    C言語初心者です。 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef… 0135792468acebdf0135792468acebdf0135792468acebdf0135792468acebdf… … のようなファイルがあったときに、このファイルを自分で用意した配列num[]に1次元配列形式、かつ16進数で読み込むコードが思いつかず困っています。ファイルは複数行かつ複数列存在し、各行と各列はそれぞれ長さはマチマチとします。 つまり、例えば 1234abcdf 2315a cedf45 のようなファイルをnum[20]という配列に格納したいのです。 この場合、fgetc, fgets, fscanf等、使える関数は数種類あると思うのですが、どの方法がもっとも効率的に、かつ高速に自分が用意した配列numに読み込めるのでしょうか? また、メモリ量もできるだけ節約したいので、同状況でmalloc等で読み込んだファイルの文字数のみの要素数を確保するやり方も考えているのですが、これも思いつかずに困っています(つまり、num[10000]とかをやるのは避けたいということです) C言語に堪能な方がおられましたらご教授下さい。具体的なソースで説明していただけると助かります。

  • 連続した数字の分割

    foreachを使って配列に格納している数字をprintしているのですが そのままではつながってしまいます。 print($i.','); のようにカンマをつないでみたのですがこれでは最後の要素に対してもカンマがついてしまいます。 この数字はそれぞれ10桁でいくつ入っているかわかりません。それぞれ をカンマで区切って表示するよい方法はありませんか。

    • ベストアンサー
    • PHP
  • ランダムで抜き出した数字を更に抜き出す

    0から19までの数字があるとして、その数字のうち仮に5つをランダムで抜き出します。 次に例えばボタンなどを押すと、その抜き出した5つの数字を除く数字を ランダムで更に5つ抜き出すというようなスクリプトはどのようにすれば できますか? もしくは、この場合ですと、0から19までの数字をランダムで並び替え、 その並び替えた数字を、例えば5つずつ表示するという方法でもいいと思うのですが いずれの場合も方法がわかりません。 for文はいまいちうまくできません。よろしくお願いします。

  • JAVA 乱数で同じ数字を出さない方法

    JAVAで乱数を使いたいのですが、同じ数を出さない方法が今一度 わかりません。 プログラムはサーブレットで記述しており、ブラウザで「数を出す」ボタンがおされたら、リクエストを受けたサーブレットは、一つ、1~10までの数を出し表示はJSPです。そしてまたボタンが押されたら、一つ、1~10までの数を出します。 以下に今のサーブレットに記述してあるプログラムの状態を書かせていただきますので、同じ数字を出さない方法が何かございましたら教えてください。宜しくお願いします。 long seed = System.currentTimeMillis(); //時間で乱数値をとる Random r1=new Random(seed); //乱数ジェネレータを作成する int i; i = r1.nextInt(10)+1;//入力された命令回数をint型に変換し1から10までの数が出されiに入る。

    • ベストアンサー
    • Java
  • Cのプログラミングについての質問です

    全零で任意のサイズの二次元配列を用意して、その中の要素の一つをランダムに選んで1に初期化する。 その選んだ要素の上下左右どれか一つをランダムに選んで1に初期化する。 再び1に初期化した要素を選んだら今度は0に初期化する。 以上の処理を任意の回数繰り返して、1同士が必ず上下左右で隣接してる配列を生成したいのですが、 どのように書いたら実現できるでしょうか。

  • じゃんけんプログラムとアルゴリズムについて質問

    以下の、過去に私が質問した、2次元配列とじゃんけんアルゴリズムの質問のURLの見た上で私の質問に答えてください。 URL:ttp://okwave.jp/qa/q7038056.html 質問: public static int janken(int n){ int[][]tb1={ {9,9,9,9}, {9,0,1,2}, {9,2,0,1}, {9,1,2,0} }; int m=rand3(); System.out.println(m+" "); return tb1[n][m]; } 上記ソースコードの2次元配列について、何故「9」という数字があるのか、又1次元目と2次元目の要素数が「4」あるのかわかりませんでした。 上記のURL先で頂いた回答を元に、私は理解に努めました。その理解が正しいか判定してください。 私の理解: 「この勝敗表をあらわす2次元配列について、それぞれのプレイヤーのジャンケンの『手』 を要素番号『1,2,3』に対応させている。要番号1,2,3を使用するためには、Javaでは要素番号は0から始まるため、「要素数」が4つ必要。だから、要素数が4ある。よって、この要素番号『0』はこのプログラムに於いては不要。 また、2次元目の要素番号『0』に関連する要素に『9』という数字がチョイスされてるが、『9』という数字のチョイスに特に意味はないが、、0、1、2以外の数字であることに意味はある。因みに、その2つの要素番号に対応する要素が勝敗の結果の番号になる。」 こういうことでしょうか?

    • ベストアンサー
    • Java