• ベストアンサー

vbのrnd関数で任意の乱数を生成する式について

任意の乱数を生成する式(下記サイト)で+1をする理由は何ですか? http://msdn.microsoft.com/ja-jp/library/f7s023d2%28v=vs.80%29.aspx +1をしないと正しく算出されないパターンも教えてください。 1~6, -6~1でそれぞれ+1をする・しないのパターンを試しましたが、 正しく算出されないケースが見つかりませんでした。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

randomvalue = CInt(Int((upperbound - lowerbound + 1) * Rnd() + lowerbound)) この中の+1のことでしょうか? lowerbound = 1 upperbound = 6 として、+1をしない乱数を発生させた場合、1~5の乱数しか発生せず、6は決して出てきませんから。

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

関連するQ&A

  • こんな条件を満たす乱数生成関数教えてください

    1.任意の周期を指定できる 2.種を指定できる(直前の生成値を引数にとる) 3.逆関数が定義できる 4.生成された乱数 x、y の距離を(定数時間で)求められる   つまり y = f(x) ならxとyの距離は1、 y = f( f( f(x) ) ) なら距離3、というように 乱数としての質(均等に分布していること)はあまり重視しません。 ビット幅は32~128bitくらい(任意ならベスト)であればいいと思っています。 以下のような感じにしたいです。  int rand(x, p);   // 戻り値 y = f(x)、pは周期、xは直前の乱数値  int inv(y, p);   // 戻り値 x = f^-1(y)  int distance(x, y) // y = f(f(x)) のとき、distance(x, y) = 2 で distance(y, x) = -2 一応以下の関数が条件1~4を満たすのですが、残念ながら乱数としての性質が皆無なので使えないです。  int rand(x, p) { return (x+1) % p; }  int inv(y, p) { return y ? y - 1 : p-1; }  int distance(x, y) { return y - x; } よろしくご教授お願いします。

  • アイコンの意味がわからない msdn

    例えば、 http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.filesystem_members(v=vs.85).aspx のページなのですが、このアイコンの説明のページがないのですが、 どういう意味か説明しているページはありますか?

  • parseメソッドのコードを見たいです

    .NETのparseメソッドがどのように実装されているか見たいのですが、ネットで探しても見つかりません。 http://msdn.microsoft.com/ja-jp/library/system.int32.parse(v=vs.110).aspx 上記のようなサイトは見つかるのですが・・・やはり公開していないのでしょうか?よろしくお願いします。

  • Dateにnewを付与せず(関数として)呼び出した

    Dateにnewを付与せず(関数として)呼び出した場合、下記のようになるみたいですが、何故でしょうか? ・引数がない場合 → 現在の時間(UTC)を表す文字列を返す ・引数あり→引数を無視して、同上 ■質問1 ・この決まりは、「MDN」もしくは「msdn」リファレンスだとどこに記載されているでしょうか?(「ECMA」には記載されているのですが、リファレンス的にどういう位置付けになっているかを確認したいです) ・オブジェクトを生成せず呼び出せるからには、「Date();」関数がどこかに記載されていると思ったのですが、探したけど見つかりません ▽Global オブジェクト   http://msdn.microsoft.com/ja-jp/library/cc427717.aspx ■質問2 >Date オブジェクトに一切パラメータを渡さなかった場合は、オブジェクトは現在の時刻 (UTC) で初期化されます ▽Date オブジェクト   http://msdn.microsoft.com/ja-jp/library/cc427714.aspx ・と言うことは、Date オブジェクトを生成しなくても、「Date();」すると、結局、ここ(Date オブジェクト)に辿り着くのでしょうか? ・「Date();」関数は、どこにあるのでしょうか?(どこに所属してる? UTCが返ってくる理由を知りたい)

  • C#でスレッドを終了させるには、どのようにすれば良いでしょうか。

    C#でスレッドを終了させるには、どのようにすれば良いでしょうか。 http://msdn.microsoft.com/ja-jp/library/7a2f3ay4(VS.80).aspx のように、スレッドのループ条件をfalseにする関数を作りました。 ボタンを押したときにこの関数を呼び出すようにしたら、スレッドは終了しました。 しかし、アプリケーションが終了したらスレッドも終了するようにしたいと思います。 この関数をどこで呼び出すのが一般的でしょうか? よろしくお願いします。

  • 大規模なデータウェアハウスを構築・運用するための主要テクノロジー

    大規模なデータウェアハウスを構築・運用するための主要テクノロジー http://www.computerworld.jp/eye/t/sql/server2008/05/ パーティション テーブルとパーティション インデックスに対するクエリ処理の機能強化 http://msdn.microsoft.com/ja-jp/library/ms345599.aspx パーティションの切り替えを使用した効率的なデータの転送 http://msdn.microsoft.com/ja-jp/library/ms191160.aspx パーティション テーブルとパーティション インデックスの変更 http://msdn.microsoft.com/ja-jp/library/ms175864.aspx パーティション・テーブルにおけるパフォーマンスの考察 http://blogs.msdn.com/b/sqljapan/archive/2007/06/13/3260757.aspx

  • 多次元正規乱数が正しく生成されているか確認するには?

    多次元正規乱数に従うサンプルを生成したく,以下の資料を参考にし,プログラムを作成しました。生成したサンプルが本当に要求した多次元正規乱数にしたがっているか確認したいのですが,以下の手順で正しいといえるでしょうか? 例: 平均μ=[1; 2] 分散協分散行列 Σ=[1,0;    0,1]; に従う多次元正規乱数y=[y1,y2]を全部でn=100サンプル生成した. このとき,n=100個のy1の平均が1,n=100個のy2の平均が2となり, n=100個のy1の分散が1,n=100個のy2の分散が1,y1とy2の共分散が0となれば正しく生成できているといってよいでしょうか? この方法で確認したのですが,生成したサンプルが元の平均,共分散から0.1~0.2のずれがあり正しいのか不安です。 参考にした資料: 「多次元正規乱数の作成法」 http://ci.nii.ac.jp/naid/110001186428/ja 「共分散の計算の仕方」 http://www.ge.fukui-nct.ac.jp/~nagamizu/f-3-s.pdf

  • MSDNライブラリを VS2010に適用するには

    http://msdn.microsoft.com/ja-jp/library/ms123401.aspx 上記URLのライブラリをVisualStudio2010にインストールする方法が分かりません。 2008や2013向けのインストーラーは見つかるのですが、2010用が見つかりません。 MSDNライブラリをVS2010で使用する方法について、分かる方が居れば、ご教授お願いいたします。

  • Visual Studio 2010 初歩的な質問

    Visual Studio 2010 の使い方を学習していますが、 基本的なことがよく分からないので教えてください。 1) Webサイトなどで  「Windows API の詳細については、プラットフォーム SDK の   Windows APIで、Win32 SDK に関する記述を参照してください」   というような説明をよく見かけるのですが、   ( http://msdn.microsoft.com/ja-jp/library/172wfck9(v=vs.100).aspx )   Win32 SDK に関する記述はどこにあるのでしょうか。 2) Webサイトなどで  「Windows API で使用される定数の詳細については、   プラットフォーム SDK に組み込まれている Windows.h などの   ヘッダー ファイルを参照してください。」   というような説明をよく見かけるのですが、   ( http://msdn.microsoft.com/ja-jp/library/172wfck9(v=vs.100).aspx )   C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include   フォルダの中にWindows.hファイルはありましたが、   Windows.hファイルの中身を見ても、   定数の説明などは見当たりませんが   どこに定数の詳細が書かれているのでしょうか。 初歩的な質問ですがよろしくお願いします。

  • DataGrid とDataGridView

    vs2010 .netで昔のプログラムの改修をしています。 DataGrid をDataGridView に置きかえるのですが プロパティが変わっていて対応に苦戦しています。 DataGrid.CaptionTextは DataGridView ではどのように指定するのか教えてください。 Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて http://msdn.microsoft.com/ja-jp/library/ms171628(v=vs.80).aspx を見てもよくわからないし。。。 よろしくお願いいたします。

このQ&Aのポイント
  • ひかりテレビアプリで地デジ番組表が取得できず視聴できない問題が発生しています。
  • 専門チャンネルやBSは視聴できるが、地デジだけが視聴できない状態です。
  • 何度試してみてもエラーが出てしまいます。解決方法を知っている方、教えてください。
回答を見る