四-1 逻辑练习题

2018-09-13  本文已影响0人  WIN_Inn

1. 计算2的n次幂,n可输入,n为自然数

n个2相乘    

原思路关键代码:

var s = 0;

        for( var i = 0;  i < n-1; i++){

            s = s * 2

        }

优化后

1 * 2

1 * 2 * 2

1 * 2 * 2 * 2

var s = 1;

        for( var i = 0;  i < n; i++){       s = s * 2;     }

2. 计算n的阶乘, n可输入

5! = 5 * 4 * 3 * 2 * 1;

4! = 4 * 3 * 2 * 1;

var s = 1;

for( var i = 1;  i  < = n;  i++ ){      s * = i;    }

另外实现方法见六-1,递归函数

3. 斐波那契数列,输出第n项(从1开始)

f    s    t

1    1    2    3    5    8

       f    s

first = 1;

second = 1;

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 );

}

另外实现方法见六-1,递归函数

4. 编写一个程序,输入一个三位数的正整数,输出时反向输出

5. 输入a,b,c三个数字,打印出最大的      // if else比较即可

6. 打印出100以内的质数

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;

    }

优化!!!!!!!!!!!

var count = 0;

for ( var i = 2; i < 100; i++ ){

    for ( var j = 1; j <= Math.sqrt ( i ) ; j++){

        if( i % j == 0){

            count ++ ;

        }

}

    if ( count == 1) {

           document.write ( i + " ");

        }

            count = 0;

    }

上一篇下一篇

猜你喜欢

热点阅读