1.利用递归实现阶乘:
//阶乘—-递归方法
function jiecheng(n){
if(n>1)
{
return n*jiecheng(n-1);
}else{
return 1;
}
}
document.write(jiecheng(1000));
2.递归实现斐波那契数列
function fei(n){
if(n>2){
return fei(n-1)+fei(n-2);
}else{
return 1;
}
}
document.write(fei(20));
3.实现一个九九乘法表
for(var i = 1;i<=9;i++){
for(var j = 1;j<=i;j++){
var desc = j + "*" + i + "=" + j*i + " ";
document.write(desc);
}
document.write("");
}
下面用while实现
var i = 1;
while(i<=9){
var j = 1;
while(j<=i){
var desc = j + "*" + i + "=" + j*i + " ";
document.write(desc);
j++;
}
document.write("");
i++;
}
4.求一个数组的最大数和最小数并求出其对应的下标index
var arr = [3,1,2,4,5,8,7,6];
var max = arr[0];
var min = arr[0];
var maxindex = 0;
var minIndex = 0;
for(var i = 0;i<arr.length;i++){
if(arr[i]>max){
max = arr[i];
maxindex= i;
}if(arr[i]<min){min = arr[i];
minIndex= i;
}}
document.write(max);
document.write(min + " ");document.write(index);
5.求100-999之间的水仙花数(指一个n位数,它的每个位上的数字的n次幂之和等于它本身)
for(var i = 100;i<=999;i++){
var bai = parseInt(i/100); //百 987除以100 =parseInt(9.87) =>9
var shi = parseInt(i/10)%10; //十 987 除以 10 = parseInt(98.7) =>98 98%10 = 8;
var ge = i % 10; //个 987 % 10
var result = ge*ge*ge + shi*shi*shi + bai*bai*bai; //临时的结果
if(i==result){
document.write(i+"");
}
}
6.输出100-200之间的所有素数
for(var i = 100;i<=200;i++){
var flag = true;
for(var j = 2;j<i;j++){
if(i%j==0){
flag = false;
break;
}
}
if(flag){
document.write(i+"<br/>");
}
}
7.计算1-100之间所有奇数的和
var sum = 0;
for(var i = 1;i<=100;i++){
if(i%2!=0){
sum = sum + i;
}
}
document.write(sum);
8.setTimeout代替setInterval
var n = 0;
function shu()
shu();
9.输出闰年
var y,j=0;
for(y=1000;y<=2000;y++){
if((y%4==0&&y%100!=0)||(y%100==0&&y%400==0)){
j++;
document.write(y+"");
}
if(j%4==0){
document.write("");
}
}
10.打印出直角三角形的星星
for(var i=1;i<=5;i++){
for(var j=1;j<=i;j++){
document.write("☆");
}
document.write("");
}
11.打印正方形的星星
var i=1;
while(i<=4){
var j=5;
while(j>=1){
document.write("☆");
j--;
}
document.write("");
i++;
}