四-1 逻辑练习题

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;

    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容