1、计算2的n次幂,n可输入,n为整数;
<script>
var n = parseInt(window.prompt('input'));
var mul = 1;
for(var i=0;i<n;i++){
mul *= 2;
}
document.write(mul);
</script>2、计算阶乘;
方法一:
var n = parseInt(window.prompt('input'));
var mul = 1;
for(var i = 1;i < n;i++){
mul *= i;
}
document.write(mul)
方法二:递归方法:递归会让代码变简洁;但是特别慢,复杂代码不易使用;
function mul(n){
if(n == 1){
return 1;
}
return n*mul(n-1);
}
mul(10);
弊端:求不到0的阶乘,因为0的阶乘为1,不能计算,直接return 1;
function mul(n){
if(n == 1 || n == 0){
return 1;
}
return n*mul(n-1);
}
mul(10);
3、输入a,b,c三个数,找出其中最大的数;
var a = parseInt(window.prompt('input'));
var b = parseInt(window.prompt('input'));
var c = parseInt(window.prompt('input'));
if(a>b){
if(a>c){
document.write(a);
}else{
document.write(c);
}
}else{
if(b>c){
document.write(b);
}else{
document.write(c);
}
}4、斐波那契数列
规律:fb(n) == fb(n-1) + fb(n-2);
var n = parseInt(window.prompt('input'))
var first = 1,second = 1,third;
if(n>2){
for(var i = 0;i<n-2;i++){
third = first + second;
first = second;
second = third;
}
document.write(third);
}else{
document.write(1);
}
方法二:递归方法
function fb(n){
if(n ==1 || n == 2){
return 1;
}
return fb(n-1) +fb(n-2);
}
5、打印100以内的质数
var count = 0;
for(var i = 1;i<100;i++){
//看看每一个i是否是质数;
for(var j = 1;j <= i;j++){
if(i%j == 0){
count ++;
}
}
if(count == 2){
document.write(i+" ");
}
count = 0;
} 6、写一个函数。模拟不同小动物叫声;
function scream(animal){
switch (animal){
case"dog":
document.write('wangwang!');
return;
case "cat":
document.write('miaomiao!');
return;
case "fish":
document.write('0~0~0~');
return;
}
}7、写一组函数,输入数字,逆转并输出汉字形式;
function reverse(){
var num = window.prompt('input');
var str = " ";
for(var i = num.length-1;i >=0;i--){
str += num[i];
}
document.write(str);
}
reverse(); function reverse(){
var num = window.prompt('input');
var str = "";
for(var i = num.length-1;i >=0;i--){
str += transfer(num[i]);
}
document.write(str);
}
function transfer(target){
switch(target){
case "1":
return "壹";
case "2":
return "贰";
case "3":
return "叁";
}
}