1、 计算2的n次幂,n可输入,n为自然数。
<script>
var n = prompt("请输入一个自然数");
function powOf2(val) {
if (parseInt(val) != val || val < 0){
alert("抱歉,您输入的不是一个自然数");
return;
}
var result = 1;
for (var i = 0;i < val;i++){
result *= 2;
}
return result;
}
let r = powOf2(n);
document.write("2的"+n+"次幂运算结果:"+r)
</script>
2、 计算n的阶乘,n可输入。
<script>
var n = prompt("请输入一个数字");
function factorial(val) {
if (parseInt(val) != val){
alert("抱歉,您输入的不是一个整数");
return;
}
if (val == 0){
return 0;
}
var result = 1;
var v = Math.abs(val);
for(var i = 1; i <= v ;i++){
result *= i;
}
return val < 0 ? -result : result;
}
var result = factorial(n);
document.write(n+"的阶乘运算结果:"+result)
</script>
3、 著名的斐波那契数列,1 1 2 3 5 8 输出第n项。
function fibonacci(n) {
if (isNaN(n) || n<=0){
return;
}
if (n === 1 || n === 2){
return 1;
}
return fibonacci(n - 2) + fibonacci(n - 1);
}
console.log(fibonacci(5));
4、 编写一个程序,输入一个正整数,输出时反向输出。如:输入456,输出654。
function reverseNum(num) {
if (parseInt(num) != num || num <= 0){
return;
}
var result = 0;
while (num != 0){
var minBit = num % 10;
num = parseInt((num/10).toString());
result = result*10 + minBit;
}
return result;
}
console.log(reverseNum(12345));
5、 输入a,b,c三个数字,打印出最大的。
<script>
var a = prompt("input for a:")
var b = prompt("input for b:")
var c = prompt("input for c:")
function max(...arr) {
let max;
if (arr.length >= 1){
max = arr[0];
} else {
max = null;
}
for(var i = 1;i<arr.length;i++){
if (arr[i] > max){
max = arr[i];
}
}
return max;
}
document.write("最大值为:"+max(a,b,c))
</script>
6、 打印出100以内的质数。
function prime(n) {
let arr = [];
for (var i = 2; i <= n; i++) {
var count = 0;
for (var j = 1; j <= Math.sqrt(i); j++) {
if (i % j == 0) count++;
}
if (count == 1)
arr.push(i);
}
return arr;
}
console.log(prime(100))
7、运行如下代码:
console.log(typeof(a)) //undefined
console.log(typeof(undefined)) //undefined
console.log(typeof(NaN)) //number
console.log(typeof(null)) //object
var a = "123abc";
console.log(+a) //NaN
console.log(typeof(+a)) //number
console.log(typeof(!!a)) //boolean
console.log(typeof(a + "")) //string
console.log(1 == "1") //true
console.log(NaN == NaN) //false
console.log(NaN == undefined) //false
console.log("11" + 11) //1111
console.log(1 === "1") //false
console.log(parseInt("123abc4")) //123
var num = 123123.3456789;
console.log(num.toFixed(3)) //123123.346