2022-05-13

数学にn桁、かつ各桁の値の整数が異なる数字求める公式みたいなのある?

なるべく軽い方法で三つの異なる数字を求めたい(例123、526)言語JavaScript

今はLoop文で

1つ目をランダムで出す

2つ目をランダムでだし、1つ目と値が同じなら、5以上ならー1,5以下なら+1(10とかー1にはしたくないため)

3つ目は12と比べてどっちかと同じなら上と同じ処理ってやってるけど、そうなると手を加えた後にどっちかと同じ値になる可能性がでてきそう

 

Loopで全部の桁をそれぞれチェックするってやつは処理回数が多いからあまり使いたくない

じゃあ最初から数学でよくありそうなそれぞれの桁で値がことなる3桁のランダム数字を求めるのが一番効率いい処理なんじゃないかと思ったけど数学がわからない

  • たいていの言語には配列のシャッフル機能がある。 なので、(0,1,2,3,4,5,6,7,8,9) の配列を作り、シャッフルさせる。 →(1,5,8,2,3...) みたいになる。 3桁の数字が欲しいなら、最初の3つをつか...

    • 天才!採用! ありがとう

      • JavaScript にはシャッフル機能が無いので、 function shuffle(array) { for (let i = array.length - 1; i > 0; i--) { let j = Math.floor(Math.random() * (i + 1)); // 0 から i のランダムなインデックス [array[i], arr...

      • シャッフルは乱数の生成回数が多いので const list = [0,1,2,3,4,5,6,7,8,9];const a = list.splice(Math.floor( Math.random() * 10), 1); // 0~9のインデックスをランダムに得てそのインデックスの値を取りだす、...

  • 0〜9のリストからランダムピックアップすればいいんじゃない? 最初が0だと桁が足りないからそこだけ工夫がいるけど

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん