タグ

2022年1月7日のブックマーク (1件)

  • 【C】srand(time(NULL))をしても同じ乱数が生成される

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

    【C】srand(time(NULL))をしても同じ乱数が生成される
    ginpei
    ginpei 2022/01/07
    srand(time(NULL))してrand()%7すると同じ結果が続く問題。擬似乱数生成の計算過程でシード値を上下ビットで分けたりマジックナンバーが7^5な都合で、シード値の上位ビットが変化しないとrand()%7が同じに。time()なら35+時間分。