1.用递归求100的阶乘
//利用递归求100的阶乘
function getJC(n) {
if (n == 1) {
return 1;
}
return n * getJC(n - 1);
}
var a = getJC(100);
document.write("100的阶乘为:" + a + "<br>");
2. 求两个数的最大公约数
//利用递归求两个数的最大公约数
function num(m, n) {
var r = m % n;
m = n;
n = r;
if (r == 0) {
document.write("最大公约数为:" + m + "<br>");
} else {
num(n, r);
}
}
//任意输入两个数字
num(20, 60);
3.输出100-200之间所有的质数(除了1和它本身不能被其他数整除的数)
for (var i = 100; i <= 200; i++) {
//数学验证思想
//假设i是质数
for (var n = 2, m = 1; n <= i / 2; n++) {
if (i % n == 0) {
m = 0;
break;
}
}
if (m == 1) {
document.write( i + " ");
}
}
4.有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
//有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
for(i=0,sum1=0;i<64;i++){
//64格共有多少芝麻
sum1+=2**i;
}
weight=sum1*0.00001;
document.write("棋盘上放的所有芝麻的重量为:"+weight+"kg");
5.求1+2!+3!+...+20!的值
//求1+2!+3!+...+20!的值
var sum=0;
for(i=1;i<=20;i++){
for(j=1,ji=1;j<=i;j++){
ji*=j;
}
sum+=ji;
}
document.write("1~20的阶乘和:"+sum+"<br>");