C言語/乱数のソースを表示
←
C言語/乱数
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
== 乱数を生成する == === C言語 === <syntaxhighlight lang="c"> #include <stdlib.h> #include <stdio.h> int main(void) { // 乱数の初期化 srand(time(NULL)); // 1から6の乱数を生成 const int r = rand() % 6 + 1; int in; print("1から6の数を入力してください:"); scanf("%d", &in); print("\n"); if (r == in) { puts("当たり⭕"); } else { puts("ハズレ❌"); } return 0; } </syntaxhighlight> === C++ === <syntaxhighlight lang="c++"> #include <iostream> #include <cstdlib> int main() { // 乱数の初期化 std::srand(std::time(NULL)); // 1から6の乱数を生成 const int r = std::rand() % 6 + 1; int in; std::cout << "1から6の数を入力してください:"; std::cin >> in; std::cout << std::endl; if (r == in) { std::cout << "あたり⭕"; } else { std::cout << "ハズレ❌"; } std::cout << std::endl; return 0; } </syntaxhighlight> == rand/std::randの問題点 == * {{code|0}}から{{code|RAND_MAX}}までの一様分布のみを生成する * 線形合同法により生成することがある * 周期が<math>2^{31}</math> 回避策: * ライブラリを使用する * (C++): {{code|std::random}}やメルセンヌ・ツイスタ法による乱数生成を行う{{code|std::mt19937}}、{{code|std::mt19937_64}}を使用する [[カテゴリ:C言語]] [[カテゴリ:C++]]
このページで使用されているテンプレート:
テンプレート:Code
(
ソースを閲覧
)
C言語/乱数
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報