水仙花数 (水仙花数就是:个位的立方 +十位的立方+百位的立方=这个数本身)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
for(let i=100; i<1000;i++){
let gewei = i % 10
let shiwei = parseInt(i / 10) % 10
let baiwei = parseInt(i / 100)
if(gewei ** 3 + shiwei ** 3 + baiwei ** 3 == i){
console.log(i)
}
}
</script>
</body>
</html>
判断质数(利用函数)
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//判断质数
function isPrime(num) {
for (let i = 2; i < num; i++) {
if (num % i == 0) {
return false
}
}
return true
}
for(let i = 2; i < 100; i++){
if(isPrime(i)){
console.log(i,"是一个质数");
}
}
</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 = 上半区当前层数 * 2 - 1
// up_layer = math.floor(total_layer / 2) + 1
// space = up_layer - 上半区当前层数
//下半区
// dowm_layer = up_layer - 1
// space = 下半区当前层数
// star = total_layer - 下半区当前层数
layer = parseInt(prompt("请输入层数"))
up_layer = Math.ceil(layer / 2)
down_layer = up_layer - 1
//上半区
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)
}
//下半区
for (let i = 1; i <= down_layer; i++){
str = ""
space_num = i ;
for(let j = 1;j <= space_num; j++){
str += " "
}
star_num = layer - (i * 2 )
for(let j = 1; j <= star_num; j++){
str += "*"
}
console.log(str)
}
</script>
</body>
</html>
用循环求10!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
let fac = 1
for(let i = 2; i <= 10; i++){
fac *= i
}
console.log(fac)
</script>
</body>
</html>
//若求n的阶乘则 i<=n 即可
用循环求10! +9! +8! ......1! (利用函数)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></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)
let sum = 0
let fac = 1
for(let i = 1; i <= 10;i++){
fac *= i
sum += fac
}
console.log(sum)
</script>
</body>
</html>
假如一次只能走上一阶或者一下子蹦上两阶。现在一共有N阶台阶,请你计算一下从第0阶到第N阶共有几种走法。
(递归求解,斐波那契数列)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
n = parseInt(prompt('请输入阶数'))
function fib(n){
if ( n == 1 || n == 2){
return n
}
return fib(n-1) + fib(n-2)
}
console.log(fib(n))
</script>
</body>
</html>
一对小兔子,4个月能长大,长大以后每个月生一对小兔子,求第n个月有多少对兔子?
(递归求解,斐波那契数列)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
n = parseInt(prompt('请输入月数'))
function fib(n){
if ( n <= 4){
return 1
}
return fib(n-1) + fib(n-4)
}
console.log(fib(n))
</script>
</body>
</html>