質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

5041閲覧

javascriptの計算について

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

2クリップ

投稿2018/05/13 07:34

編集2019/09/04 14:19

勝算を求める計算方法について

jsである特定の条件時に勝算を求める場合の計算方法について

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2018/05/16 01:51

勝率の計算式がかかれていますが、『ユーザーが入力した数値を1000回連続使用した場合の結果』については出力ができているのですか?
fjaiofjawiefjaw

2018/05/17 09:15

質問と直接関係ありませんが、こちらの問題はどちらから参照しているのでしょうか?もし、よろしければ、サイト名などを教えて頂きたいです。面白そうですので、僕も解いてみたいです。
guest

回答1

0

ベストアンサー

私は、数学が得意でないため、自信がありませんが

例えば
試行回数が1000回で
ストレート当選が10回の場合
10/1000 * 100 = 1(%)
だと思いましたが、いかがでしょうか。

つまり、
当選回数/試行回数 * 100
です。

それを元にコードを編集いたしました。
jsのみ編集いたしました。
ご希望の動作になっていますでしょうか。

※間違えていましたら、ご指摘ください。

javascript

1//ストレートの当選確率dom 2var $winning_probability1 = document.getElementById('winning_probability1'); 3//ボックスの当選確率dom 4var $winning_probability2 = document.getElementById('winning_probability2'); 5//はずれの確率dom 6var $winning_probability3 = document.getElementById('winning_probability3'); 7//試行回数 8const trials_num = 1000; 9//COMがランダムな値を得るために利用する配列 10var rand_seeds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 11 12 13//ユーザーが数値を入力した値が正しいかどうか(1) 14function num1() { 15 var inNum1 = document.getElementById('inNum1'); 16 if (inNum1.value.match(/^[0-9]{1}$/)) { 17 console.log(inNum1.value); 18 inval.innerHTML = ""; 19 } 20 else { 21 alert('入力した値は使用できません'); 22 inval.style.color = "red"; 23 inval.innerHTML = "0~9の半角数字1桁を入力してください"; 24 } 25} 26//ユーザーが数値を入力した値が正しいかどうか(2) 27function num2() { 28 var inNum2 = document.getElementById('inNum2'); 29 if (inNum2.value.match(/^[0-9]{1}$/)) { 30 console.log(inNum2.value); 31 inval.innerHTML = ""; 32 } 33 else { 34 inval.style.color = "red"; 35 inval.innerHTML = "0~9の半角数字1桁で入力してください"; 36 } 37} 38//ユーザーが数値を入力した値が正しいかどうか(3) 39function num3() { 40 var inNum3 = document.getElementById('inNum3'); 41 if (inNum3.value.match(/^[0-9]{1}$/)) { 42 console.log(inNum3.value); 43 inval.innerHTML = ""; 44 } 45 else { 46 inval.style.color = "red"; 47 inval.innerHTML = "0~9の半角数字1桁で入力してください"; 48 } 49} 50//ストレート当選がどうか確かめるための関数 51const isStraight = ({userInput, cpuInput}) => { 52 return userInput.toString() === cpuInput.toString(); 53} 54//ボックス当選がどうか確かめるための関数 55const isBox = ({userInput, cpuInput}) => { 56 return userInput.sort().toString() == cpuInput.sort().toString(); 57} 58//「当選表示」をクリックしたらの処理 59function check1() { 60 if (inNum1.value === "" || inNum2.value === "" || inNum3.value === "") { 61 inval.style.color = "red"; 62 inval.innerHTML = "値をそれぞれ入力してから実行してください"; 63 } 64 //ユーザーが入力した値をUSER:に表示させる 65 var userInput = []; 66 for (let i = 0; i < 3; i++) { 67 userInput[i] = document.getElementById('display' + (i + 1)).value = 68 document.getElementById('inNum' + (i + 1)).value; 69 } 70 //当選回数カウント用オブジェクト 71 const win_cnt = {straight: 0, box: 0, miss: 0}; 72 var cpuInput = [0, 0, 0]; 73 for (let i = 0; i < trials_num; i++) { 74 //COMの値をrandomに取得し出力する 75 for (let j = 0; j < 3; j++) { 76 cpuInput[j] = rand_seeds[Math.floor(Math.random() * rand_seeds.length)]; 77 // COMの値を出力しても目で追えるスピードでないため、コメントアウト。 78 // document.getElementById('display' + (i + 4)).value = cpuInput[i]; 79 } 80 if (isStraight({userInput, cpuInput})) { 81 // 結果がストレート当選の場合 82 83 // チェック用(結果を確かめる時に使用してください。) 84 // console.log(`結果:ストレート当選 ユーザ:${userInput} COM:${cpuInput}`) 85 win_cnt.straight++; 86 } 87 else if (isBox({userInput, cpuInput})) { 88 // 結果がボックス当選の場合 89 90 // チェック用(結果を確かめる時に使用してください。) 91 // console.log(`結果:ボックス当選 ユーザ:${userInput} COM:${cpuInput}`) 92 win_cnt.box++; 93 } 94 else { 95 // 結果がハズレの場合 96 97 // チェック用(結果を確かめる時に使用してください。) 98 // console.log(`結果:ハズレ ユーザ:${userInput} COM:${cpuInput}`) 99 win_cnt.miss++; 100 } 101 } 102 console.log(win_cnt) 103 $winning_probability1.innerHTML = `確率:${win_cnt.straight / trials_num * 100}%` 104 $winning_probability2.innerHTML = `確率:${win_cnt.box / trials_num * 100}%` 105 $winning_probability3.innerHTML = `確率:${win_cnt.miss / trials_num * 100}%` 106} 107

投稿2018/05/17 17:13

fjaiofjawiefjaw

総合スコア210

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問