1,补完菱形代码
代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>{
// *
// ***
// *****
// *******
// *****
// ***
// *
// 层 1 2 3 4 5 6 7
// 空 3 2 1 0 1 2 3
// 星 1 3 5 7 5 3 1
// 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 <= layer; i++){
if(i<=up_layer){
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 += "*"
}
}else{
str = ""
Space_num = i - up_layer;
for(let j = 1;j <= Space_num;j++){
str += " "
}
Star_num = up_layer*2 - ((i-up_layer)*2 + 1);
for(let j = 1; j <= Star_num; j++){
str += "*"
}
}
console.log(str)
}
}
</script>
</body>
</html>
2,求所有三位水仙花数(水仙花数就是:个位的立方+十位的立方+百位的立方=这个数本身)
代码
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function num() {
for (i = 100; i < 1000; i++) {
let a = i % 10,
b = parseInt((i / 10) % 10),
c = parseInt(i / 100)
let sum = Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3)
if (i == sum) {
console.log(i)
}
}
}
num()
</script>
</body>
</html>
3,用循环求10!
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function factorial(num) {
var str = '10!='
var sum = 1
for (var i = num; i > 0; i--) {
sum = sum * i
if (i == 1) {
str = str + i + '='
} else {
str = str + i + '*'
}
}
console.log(str + sum)
}
factorial(10)
</script>
</body>
</html>
4,用循环求10!+9!+8!......1!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function factorial(num) {
let str = num + '!='
let sum = 1
for (let i = num; i > 0; i--) {
sum = sum * i
if (i == 1) {
str = str + i + '='
} else {
str = str + i + '*'
}
}
console.log(str + sum)
return sum
}
function factorial_total(digit) {
let str = 0
let sum = 0
for (let i = digit; i >= 1; i--) {
sum = sum + factorial(i)
if (i == 1) {
str = str + i +'!' + '='
} else {
str = str + i + '!' + '+'
}
}
console.log(str + sum)
}
factorial_total(10)
</script>
</body>
</html>
5,假如一次只能走上一阶或者一下子蹦上两阶。现在一共有n阶台阶,请你计算一下从第0阶到第n阶共有几种走法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--假如一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下从第0阶到第N阶共有几种走法。-->
<script type="text/javascript">
function f(n){
if(n<=2)
return n;
x = f(n-1)+f(n-2)
return x;
}
console.log(f(10))
</script>
</body>
</html>
6.一对小兔子,4个月能长大,长大以后每个月生一对小兔子,求第n个月有多少对兔子。
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--一对小兔子,4个月能长大,长大以后每个月生一对小兔子,求第n个月有多少对兔子。-->
<!--yue: 1 2 3 4 5 6 7
count: 1 1 1 1 2 3 4-->
<script type="text/javascript">
function _count(n){
if(n<=4){
return n==0?0:1
}
return _count(n-1) + _count(n-3)
}
let n=parseInt(prompt("请输入月份:"))
console.log(_count(n))
</script>
</body>
</html>