忍者ブログ

いろいろサンプル

JAVASCRIPTで作成した算数のゲーム(ドリル・クイズ)の解答やソース、プログラムで必要なことを書いていきます。 SPIや小・中学の勉強になるe-ラーニングのプログラムになることを目指しています。

階乗の計算


×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

階乗の計算


階乗の計算です

前に2chのまとめサイトか何かで
4!=24
が問題になっていましたが
これが階乗です。

4!の場合
4!=4x3x2x1=24

になります。

今回は
1~9までの階乗を答えていただく問題です。

あまり数が多くても計算が大変ですので9までにしました。

JAVASCRIPTのプログラムで書いたのですが
階乗は計算しておりません。

switchで場合分けをして
問題が4の場合正答は24と
代入して
答えていただいた数値と比べています。

サンプルは
階乗


ソースは下記
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="jq/jquery-1.10.2.min.js"></script>
<title>階乗</title>
<meta name="keywords" content="ゲーム,かいじょう,階乗,問題,クイズ">
<meta name="description" content="かいじょうの問題(ドリル・クイズ)などができるHPです。JAVASCRIPTで作製しています。">

</head>
<script type="text/javascript"><!--
    myHit = 0;
    myNowCnt = 0;    // 問題を出すテーブルカウンタ
    myLastCnt = 10;    // 問題の数
    var myy1,ayy1;   
function mySet(){
    myy1 = Math.floor(Math.random()*9)+1;
   
    document.myForm.myFormQ1.value = myy1; // 数値
       document.myForm.myFormA1.value = ""; // 数値
}

// 入力した答えが正解か不正解かを判定する関数 (答えを入力して、[OK]ボタンを押した時の処理)
function myCheck(){
     myQ1 = eval(document.myForm.myFormQ1.value); // 入力された数値 を取得
     myA1 = eval(document.myForm.myFormA1.value); // 入力された数値 を取得
     switch ( myQ1 ) {
        case 1:
        ayy1=1;
        break;

        case 2:
        ayy1=2;
        break;

        case 3:
        ayy1=6;
        break;

        case 4:
        ayy1=24;
        break;

        case 5:
        ayy1=120;
        break;

        case 6:
        ayy1=720;
        break;

        case 7:
        ayy1=5040;
        break;

        case 8:
        ayy1=40320;
        break;
       
        case 9:
        ayy1=362880;
        break;
}


     if ( ayy1 == myA1){ // 答えと入力した値は等しいか(正解か)?
        myHit++;   
        document.ytr001.mes01.value = ("あたり! (^_^)");
     }else{
        document.ytr001.mes01.value = ("はずれ ! こたえは"+ayy1+"です !");
     }
     mySet(); // 次の問題をセット    
     if (myNowCnt==myLastCnt-1){    // 問題終わった?
            myScore = myHit*10;    // 得点計算
            document.ytr002.mes02.value =("問題終了です。"+myLastCnt+"問中"+myHit+"問正解。点数は"+myScore+"点です。");   
            myNowCnt=0;   
            myHit=0;   
        }else{    // 次の問題へ
            myNowCnt++;
            document.ytr002.mes02.value =(+myNowCnt+"問中"+myHit+"問正解。");   
            myQues();   
        }
}
// -->
</script>
<body>
<!-- admax -->
<script type="text/javascript" src="http://adm.shinobi.jp/s/82885b29005a503f8b0ecb68b21811c2"></script>
<!-- admax -->
<!-- 階乗の問題フォームを設置 -->

<h1>階乗</h1>

<form name="myForm">
さて、もんだいです。次の階乗の答えを入力してください。
<br><br>
ちなみに<br>
n!=nx(n-1)x(n-2)........2x1<br>
です<br><br>

例<br> 
10!=10x9x8x7x6x5x4x3x2x1=3628800<br>
です<br>
<br>

<input type="text" size="4" name="myFormQ1">!<br>
=<input type="text" size="4" name="myFormA1">


<br>
<input type="button" value="OK" onclick="myCheck()">
</form>

<form name="ytr001">
<input type="text" size="100" style="border-style:none;background-color:#FFFFFF;" name="mes01">
</form>
<form name="ytr002">
<input type="text" size="100" style="border-style:none;background-color:#FFFFFF;" name="mes02">
</form>
<script type="text/javascript"><!--
mySet(); // 初回の問題をフォームへセット
// --></script>

<br>
<a href="http://tasarotoste.zouri.jp/">TOPへ</a>
<br>
<!-- admax -->
<script type="text/javascript" src="http://adm.shinobi.jp/s/7c43f868a03d3682223e8a968c23b100"></script>
<!-- admax -->

<br><br>
</body>
</html>
PR

コメント

TWITTER

忍者カウンター

広告

ブログ内検索

フリーエリア

フィードメーター - いろいろサンプル ページランク表示用ブログパーツ E-Pagerank にほんブログ村 ゲームブログ 学習ゲームへ
にほんブログ村 学びランキング ブログ王ランキングに参加中! PVランキング ページランク表示用ブログパーツ E-PageRank