1.使用JavaScript完成菱形图案
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
for(var i = 0; i < 7; i++) {
if(i <= 3) {
var s = "";
for(var j = 0; j < 3 - i; j++) {
s += " ";
}
for(var j = 0; j < i * 2 + 1; j++) {
s += "*";
}
} else {
var s = "";
for(var j = 0; j < i - 3; j++) {
s += " ";
}
for(var j = (7 - i) * 2 - 1; j > 0; j--) {
s += "*";
}
}
console.log(s);
}
</script>
</head>
<body>
</body>
</html>
2.求所有三位水仙花数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var a,b,number;
for(var i=1;i<10;i++){
for(var j =0;j<10;j++)
{
for(var k=0;k<10;k++){
a=(i*i*i)+(j*j*j)+(k*k*k)
b=i*100+j*10+k;
number = parseInt(b);
if(a==number){
console.log('水仙花数:'+a);
}
}
}
}
</script>
</head>
<body>
</body>
</html>
3.循环求10的阶乘
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var sum=1;
for(var i=10;i>0;i--){
sum=i*sum;
}
console.log(sum);
</script>
</head>
<body>
</body>
</html>
4.用循环求10!+9!+8!……1!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var sum=0;
for(var i=1;i<=10;i++)
{
x=1;
for(var j=1;j<=i;j++){
x=x*j;
}
sum = sum+x;
}
console.log(sum);
</script>
</head>
<body>
</body>
</html>
5.假如一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下从第0阶到第N阶共有几种走法
//思路:该题本质是斐波那契数列的转换
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<body>
<script>
let step = parseInt(prompt("请输入阶梯数量:",0))
alert("有"+fn(step)+"种")
function fn(n){
if(n===1 || n===2){
return n
}else{
return fn(n-1)+fn(n-2);
}
}
</script>
</body>
</html>
6.一对小兔子,4个月能长大,长大以后每个月生一对小兔子,求第n个月有多少对兔子。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
let m = parseInt(prompt("请输入月份数:",0))
alert("第"+m+"个月有"+Rabbit(m)+"对")
function Rabbit(n){
if(n <= 4){
return 1
}
return Rabbit(n-1)+Rabbit(n-3)
}
</script>
</body>
</html>