一、楼层问题
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<script>
function step(n){
if (n==1){
return 1
}
if(n==2){
return 2
}
return step(n-1)+step(n-2)
}
console.log(step(10))
</script>
</body>
</html>
二、兔子问题
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<script>
//1 1 1 2 3 4 6 9 13
function rabbit (n){
if (n<4){
return 1
}
return rabbit(n-1) + rabbit(n-3)
}
console.log(rabbit(6))
</script>
</body>
</html>
三、棱形代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
// *
// ***
// *****
// *******
// *****
// ***
// *
// 层 1 2 3 4
// 空 3 2 1 0
// 星 1 3 5 7
// star = current * 2 - 1
// up_layer = math.floor(total_layer / 2) + 1
// space = up_layer - current
layer = parseInt(prompt("请输入层数"))
up_layer = Math.ceil(layer / 2)
for (let i = 1; i <= up_layer; i++){
str = ""
space_num = up_layer - i;
for(let j = 1;j <= space_num; j++){
str += " "
}
star_num = i * 2 -1
for(let j = 1; j <= star_num; j++){
str += "*"
}
console.log(str)
}
down_layer = 1
for (let i=down_layer;i<=3; i++){
let space_num = i
let star_num=layer - space_num*2
let str=""
for(let j =0;j<space_num;j++){
str +=' '
}
for (let j =0;j<star_num;j++){
str +='*'
}
console.log(str)
}
</script>
</body>
</html>
四、水仙花问题
<!DOCTYPE html>
<html>
<head lang="zh">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for(let i=100;i<1000;i++){
let gewei = i %10
let shiwei =parseInt(1 /10)%10
let baiwei =parseInt(1 /100)
if(gewei **3+ shiwei**3+ baiwei**3==i){
console.log(i)
}
}
</script>
</body>
</html>
五、10!问题
<!DOCTYPE html>
<html>
<head lang="zh">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let fac =1
for(let i=2;i<=10;i++){
fac *=i
}
console.log(fac)
</script>
</body>
</html>
六、10!+9!+8!+......+1!问题
<!DOCTYPE html>
<html>
<head lang="zh">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function getFac(n){
let fac =1
for(let i=2;i<=n;i++){
fac *=i
}
console.log(fac)
return fac
}
sum=0;
for(let i=1;i<=10;i++){
sum+=getFac(i)
}
console.log(sum)
</script>
</body>
</html>