循環的作業

1.計算2的n 次冪,n可輸入,n爲自然數;
高人指點的方法:
<script type="text/javascript">
        var n = parseInt(window.prompt("input"));
        var x = 2;
        for(var i = 0;i < n-1; i++){
            x = x * 2 ;
            document.write(x);
        }

 </script>
老師的方法:
<script type="text/javascript">
        var n = window.prompt("input n");
        // 1 * 2
        // 1 * 2 * 2
        // 1 * 2 * 2 * 2
        // 1 * 2 * 2 * 2 * 2
        var mul = 1; 
        for(var i = 0;i < n;i++){
            mul *= 2; // 循環一次就把1乘以2的值,賦給mul,循環二次就把2乘以2的值,賦給mul,循環三次就把4乘以2的值,賦給mul,依次循環;
        }
        document.write(mul);
 </script>
附加題:
計算m的n 次冪,n可輸入,
<script type="text/javascript">
        var m = parseInt(window.prompt("input m"));
        var n = parseInt(window.prompt("input n"));

        var x = m;
        for(var i = 0;i < n-1; i++){
            x = x * m ;
            document.write(x);
        }

    </script>
2.計算 n 的階乘,n可輸入
<script type="text/javascript">
        var n = parseInt(window.prompt("input n"));
        // n 不能變,因爲n控制循環次數 

        var x = n; // 因爲n 不能變,需要把n 的初始值賦給x,用於階乘的乘法運算
        var y = n;  
        for(var i = 0;i < n-1; i++){
            document.write("運算前 x = ", x, "<br>");
            y = y - 1; // y 是階乘每次減1
            document.write("y = ", y, "<br>");
            x = x * y ;
            document.write("運算後 x = ", x, "<br>");
            document.write("------------------------------<br>");

        }

    </script>
老師的方法:
<script type="text/javascript">
        var n = window.prompt("input n");
        // 5! = 5 * 4 * 3 * 2 * 1;

        var mul = 1; 
        for(var i = 1;i <= n;i++){
            mul *= i; // 循環一次就把1乘以1的值,賦給mul,循環二次就把1乘以2的值,賦給mul,循環三次就把2乘以3的值,賦給mul,依次循環;
        }
        document.write(mul);
 </script>
附加題:
 <script type="text/javascript">
        // var m = parseInt(window.prompt("input m"));
        var n = parseInt(window.prompt("input n"));
        // n 不能變,因爲n控制循環次數 

        var x = 1; // 因爲n 不能變,需要把n 的初始值賦給x,用於階乘的乘法運算
        var y = 1;  
        for(var i = 0;i < n-1; i++){
            document.write("運算前 x = ", x, "<br>");
            y = y + 1;// y 是階乘每次減1
            document.write("y = ", y, "<br>");
            x = x * y ;
            document.write("運算後 x = ", x, "<br>");
            document.write("------------------------------<br>");

        }

    </script>
運算前 x = 1
y = 2
運算後 x = 2
------------------------------
運算前 x = 2
y = 3
運算後 x = 6
------------------------------
3.著名的斐波那契額數列(1 1 2 3 5 8輸出第n項)
<script type="text/javascript">
        
        // 第一位加第二位,等於第三位,第二位加第三位,等於第四位,第三位加第四位,等於第五位
        var n = parseInt(window.prompt("input n"));
        var x = 0; 
        var y1 = 1; 
        var y2 = 1; 
        
        for(var i = 0;i < n; i++){
            document.write("前一個數 y1 = ", y1, "<br>");
            document.write("後一個數 y2 = ", y2, "<br>");
            x = y1+y2;
            document.write("新的數 x = ", x, "<br>");
            document.write("------------------------------<br>");
            // 爲下一次循環做準備
            y1 = y2;
            y2 = x;

        }

    </script>
老師的方法:
<script type="text/javascript">
    // f  s   t
    // 1   1   2
    //      f   s
    var n = parseInt(window.prompt("input"));
    var first = 1,
        second = 2,
        third;
    if( n > 2){
        for(var i = 0; i < n-2; i++){
        third = first + second;
        first = second;
        second = third;
        } 
        document.write(third); 
    }else{
        document.write(1);
    } 
    
 </script>
4.編寫一個程序,輸入一個三位數的正整數,輸出時反向輸出。(輸入456,輸出654)
<script type="text/javascript">
        var n = window.prompt("input n");
        // js字符串截取
        var x1 = n.substr(0, 1); 
        var x2 = n.substr(1, 1); 
        var x3 = n.substr(2, 1); 
        document.write(x3, x2, x1);
        
    </script>
5.輸入a,b,c三個數,打印出最大的。
<script type="text/javascript">
        var a = 3; 
        var b = 2; 
        var c = 1; 
        var x = 0; 
        if(a > b){
            document.write(a);
            x = a;
        }else {
            document.write(b);
            x = b;
        }
        if(x > c){
            document.write(x);
        }else {
            document.write(c);
        }
</script>
老師的方法:
<script type="text/javascript">
        // var n = window.prompt("input n");
        var a = window.prompt("input a");
        var b = window.prompt("input b");
        var c = window.prompt("input c");
        if(a > b ){
            if(a > c){
                document.write(a);
            }else{
                document.write(c);
            }
        }else{
            if(b > c){
                document.write(b);
            }else{
                document.write(c);
            }
        }
 </script>
6.打印出100以內的質數
<script type="text/javascript">

var count = 0;
for(var i = 1; i < 100; i++){

    for(var j = 1; j <= i; j++){
        if(i % j == 0){
            count++;
        }
    }
    if(count == 2){
        document.write(i + " ");
    }
    count = 0;
}
 </script>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章