JavaScriptで1から1,000,000,000,000,000までのランダムな数字を生成する方法


方法1: Math.random()を使用する方法

// 1から1,000,000,000,000,000までのランダムな整数を生成する関数
function generateRandomNumber() {
  var min = 1;
  var max = 1000000000000000;
  var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
  return randomNumber;
}
// ランダムな数字の生成と表示
var randomNum = generateRandomNumber();
console.log(randomNum);

この方法では、Math.random()関数を使用して0以上1未満のランダムな小数を生成し、その結果を指定した範囲にスケーリングします。Math.floor()関数を使用して小数点以下を切り捨て、最終的に1から1,000,000,000,000,000までの整数を得ます。

方法2: crypto.getRandomValues()を使用する方法

// 1から1,000,000,000,000,000までのランダムな整数を生成する関数
function generateRandomNumber() {
  var min = 1;
  var max = 1000000000000000;

  // 32ビット符号なし整数の配列を生成
  var array = new Uint32Array(2);
  window.crypto.getRandomValues(array);

  // 64ビット整数に変換
  var randomNumber = (array[0] * Math.pow(2, 32)) + array[1];

  // 指定した範囲にスケーリング
  randomNumber = min + (randomNumber % (max - min + 1));

  return randomNumber;
}
// ランダムな数字の生成と表示
var randomNum = generateRandomNumber();
console.log(randomNum);

この方法では、crypto.getRandomValues()関数を使用して暗号的に安全なランダムな値を生成します。生成された値は32ビット符号なし整数の配列として得られます。次に、これらの値を組み合わせて64ビット整数に変換し、指定した範囲にスケーリングします。

いずれの方法も、指定した範囲内でランダムな数字を生成することができます。これらのコード例を使用して、JavaScriptで1から1,000,000,000,000,000までのランダムな数字を生成する方法を実装してみてください。