誕生日を入力、3,4桁の数字にして組み合わせの個数を求め、それを確率として出力し、出会う確率として表示させようと思ったんですがそもそも組み合わせの数が大きすぎて確率どころではなかったというあほの結果になってしまった無念のwebアプリ。
jsとhtmlで書きました。
やってることは全く難しくない。
お世話になっている本
もっとプログラマ脳を鍛える数学パズル(増井 敏克 (著))
です。ありがとうございます。
uniq.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>sample</title>
</head>
<p>あなたと相手の出会える確率を計算してあげるざます。</p>
<form>
<p>あなたの誕生日</p>
<select name="month1" id="m1" >
<option hidden>月</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="month1" id="d1" >
<option hidden>日</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<p>占いたい相手の誕生日</p>
<select name="month1" id="m2" >
<option hidden>月</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="month1" id="d2" >
<option hidden>日</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<input type="button" onclick="func1()" value="占う">
</form>
<div id="output_message"></div>
<body>
<script language="javascript" type="text/javascript">
function func1(){
var M1 = document.getElementById("m1").value;
var D1 = document.getElementById("d1").value;
var M2 = document.getElementById("m2").value;
var D2 = document.getElementById("d2").value;
num1 = (M1*100) + D1;
num2 = (M2*100) + D2;
if(num1 > num2){
input = nCr(num1,num2);
}else if(num2 > num1){
input = nCr(num2,num1);
}else{
input = 100;
}
input_message = "あなたとお相手が出会う確率は「" + input + "%」です。おめ。";
document.getElementById("output_message").innerHTML = input_message;
}
function nCr(n,r){
var result = 1;
var num = 0;
for(var i =1; i<=r; i++){
result = result * (n-i+1) / i;
}
num = (1/result)*100;
return num;
}
</script>
</body>
</html>