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

/*
n=1 1*2
n=2 1*2*2
n=3 1*2*2*2
*/
var n = parseInt(window.prompt("input"));
var mul=1;

for(var i=1;i<=n;i++){
    mul *= 2;
}
console.log(mul)

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

/*
    n=1 1*1
    n=2 1*2
    n=3 1*2*3
    n=4 1*2*3*4
    n=5 1*2*3*4*5
*/
var n = parseInt(window.prompt("input"));
var count=1;

for(var i=1;i<=n;i++){
    count *= i;
}
console.log(count);

3.计算斐波纳契数列 1 1 2 3 5 8 输出第n项

/*
    1 1 2 3 5 8
    1+1 = 2
    1+2 = 3
    2+3 = 5
    3+5 = 8
    5+8 = 13...
*/
var n = parseInt(window.prompt("input"));
var first = 1,seconed = 1,third = 0,arr=[1,1];
if(n>2){
    for(var i=0;i<n-2;i++){
        third = first + seconed;
        first = seconed;
        seconed = third;
        arr.push(third)
    }
}else{
    arr = [1,1];
}
console.log(arr);

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

//方法一 通过字符串转换
var n = parseInt(window.prompt("input"));
var arr =[] ,str="",n1=0;

arr = (n+"").split("");
str = arr.reverse().join("");
n = parseInt(str);
console.log(n);

//方法二 通过计算
var n = parseInt(window.prompt("input"));
var unit = 0,decade = 0,hundred = 0,reverseNum = 0;
unit = n % 10;
decade = n % 100 - unit;
hundred = (n - decade - unit) / 100;

reverseNum = unit * 100 + decade + hundred;

console.log(hundred,decade,unit,reverseNum);

5.输入a,b,c三个数字,打印出最大的。

var n1 = parseInt(window.prompt("input"));
var n2 = parseInt(window.prompt("input"));
var n3 = parseInt(window.prompt("input"));

if(n1>n2){
    if(n1>n3){
        console.log(n1);
    }else{
        console.log(n3);
    }
}else{
    if(n2>n3){
        console.log(n2);
    }else{
        console.log(n3);
    }
}

6.打印出100以内的质数

var count = 0,arr=[];
for(var i=1;i<100;i++){
    for(var j=1;j<=i;j++){
        if(i % j == 0){
            count++;
        }
    }
    if(count == 2){
        arr.push(i)
    }
    count = 0;
}
console.log(arr);

//只要和开方,10以内找可以被整除的就可以了,减少计算量
var count = 0,arr=[];
for(var i=2;i<100;i++){
    for(var j=1;j<=Math.sqrt(i);j++){
        if(i % j == 0){
            count++;
        }
    }
    if(count == 1){
        arr.push(i)
    }
    count = 0;
}
console.log(arr);

知识点

var date = window.prompt("input");
switch(date){
    case "monday":
        console.log("working");
        break;  //跳出不往下走了
    case "tuesday":
        console.log("working");
        break;
    case "wednesday":
        console.log("working");
        break;
    case "thursday":
        console.log("working");
        break;
    case "friday":
        console.log("working");
        break;
    case "周六":
        console.log("relaxing");
        break;
    case "周日":
        console.log("relaxing");
        break;
}

var date = window.prompt("input");
switch(date){
    case "monday":
    case "tuesday":
    case "wednesday":
    case "thursday":
    case "friday":
        console.log("working");
        break;
    case "周六":
    case "周日":
        console.log("relaxing");
        break;
}
for(var i=0;i<100;i++){
    if(i % 7 == 0 || i % 10 == 7){ //7的位数,或是尾数带7
        continue;//跳出本次循环,继续下个循环
    }
    console.log(i);
}

typeof 的结果:number string boolean object undefined function

类型转换
number():想方设法转数字
false:0 true:1
null:0
undefined:NaN
abc:NaN

parseInt():可以在字符里找数字,只有字符转不了
"123abc":123
null/false/true/undefined:NaN


var demo = 123;
demo.toString() //"123"
undefined/null.toString()//报错,没有这个方法

基底
parseInt(123,16) //将16进制的123转成10进制的123,16是当前进制
demo.toString(8) //将10进制的123转成8进制,8是目标进制