No.4ベストアンサー
- 回答日時:
皆さん、お答えが難しすぎるみたいですね。
「乱数」と言うのは、「サイコロ」を振ると言うのと同じです。
例えば、既に回答の出ている rand関数を実行するとコンピュータがサイコロを振ってその答えを返してくれます。
rand関数の答えは(言語によって違いますが)ここでは0<=n<1と言う事にしておきましょう。
小数点以下10桁で近似すると0.0000000000~0.9999999999と言う事になります。
ここで1~50の乱数が欲しいとします。
このときは INT(乱数*50)+1とすれば(0~49)+1で目的が達成されます。INTは切り捨て(正のときのみ)
> すると、呼ぶたびに違う値といってましたが同じ数字が来りはしないのでしょうか?
「サイコロ」ですから同じ数字も来てしまいます。これを防ぐ方法(テクニック)は有ります。3日前の質問の回答を見てください。(下記URL)
同じ悩みを持つ人は多いのです。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=213544
No.3
- 回答日時:
>乱数
規則性のない数列のことです。
現在のコンピュータで「規則性のない数列」を作ることは出来ないので、非常に規則性の少ない(周期の長い)数列を作る方法を用いて、「疑似乱数」と呼ばれる物を利用していますが、通常、それをも含めて乱数と言います。
Cであれば、stdlib.h に含まれる rand 関数などを利用します。
配列の並べ替え等々については過去に質問があると思うので検索してみてください。
No.2
- 回答日時:
乱数というのは0以上1未満で、コンピュータがランダムにはじきだす数値です。
この乱数に特定の数字(例:100)をかけると、
0以上100未満のばらばら不規則な数字を出すことができます。
例えば、ロトくじやナンバーズ予想、パチンコの当り確率などに応用します。
No.1
- 回答日時:
乱数というのは簡単に言うとでたらめな数なんですが、実際にはちゃんと計算したりしないとうまくでたらめになってくれません(計算だけでなくハードウェアの状態を拾ったりしてそれを含めて計算しているのもあります)。
で、C言語だと rand() という関数があります。それと乱数計算の種になる値を与えるための srand() という関数があります。(コンパイラ付属のライブラリはこれだけではないと思います。調べてみてください)。で、要するに rand() 関数は呼ぶたびに違う値を返してくるんです。ライブラリによっても違うかも知れませんがたとえば 0 から 0x7fff の間の値を返してくるようになっていて、その値を利用して 0 から 9 までの範囲にする場合こんな計算をしたりします。
int n = rand() * 10 / 0x8000;
意味わかりますよね? rand()が 0 ~ 0x7fff の内の何れかを返すのであれば上記の計算結果は 0 ~ 9 になります。
この回答への補足
返事ありがとうございました。内容は半分ぐらいは理解できましたがわからないとこもあるので聞こうとおもいます。
まず、配列での話となるんですが、この書いてもらったやり方で0~9
までの数字をfor文で回して、ひとつづつ新しい配列に添え字を入れていくと
すると、呼ぶたびに違う値といってましたが同じ数字が来りはしないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 既存の数列のランダム性について(初歩的質問) 2 2022/06/07 20:04
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- JavaScript Javascript の配列の削除 (初心者) 4 2022/05/02 11:12
- Excel(エクセル) 同じ品番のマスタで最新日付のものに〇印を入れたい 3 2023/03/31 17:45
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- PHP 【スプレッドシート】順位のつけ方 2 2022/08/17 13:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を使わずに、変数名を動的...
-
2次元配列を戻り値とする関数?
-
先頭アドレスとは何ですか?
-
C言語 配列の長さの上限
-
ExcelVBAで質問です。離れた二...
-
C# 配列の変数宣言について。
-
C# Listを使わずに2次元配列の...
-
unsigned char配列への入力の仕方
-
配列で格納したものをmsgboxで...
-
構造体配列を引数とするDLL作成...
-
Excel、VBAのユーザーフォーム...
-
Redimした動的配列はEraseする...
-
C言語初心者 ポインタについて...
-
VBで構造体の配列を関数に渡す...
-
テキストファイルから文字列を...
-
C言語 配列の再初期化
-
C言語でcharの足し算
-
配列の参照渡しで型が一致しま...
-
なぜ配列は0から始まるのです...
-
VB.NET 構造体の配列の検索機能...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
配列で格納したものをmsgboxで...
-
配列の参照渡しで型が一致しま...
-
C# Listを使わずに2次元配列の...
-
VBで構造体の配列を関数に渡す...
-
複数の選択範囲の行番号を個別...
-
パイソンの
-
先頭アドレスとは何ですか?
-
【速いブラインドタッチ】手を...
-
C# 配列の変数宣言について。
-
C言語初心者 ポインタについて...
-
unsigned char配列への入力の仕方
-
テキストファイルから文字列を...
-
ExcelVBAで質問です。離れた二...
-
Redimした動的配列はEraseする...
-
C言語で特定列だけを抽出して配...
-
擬似コード 長さがmの配列でな...
-
メモリの初期値
-
C言語初心者 構造体 課題について
おすすめ情報