有一对兔子,从出生的第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问某月的兔子总和是多少?
function rabitNum(){
var month = prompt('请你输入月份:');
//先定义前两个月的兔子的数量
var rabit_num1 = rabit_num2= 1,
rabit_num;
//三个月没有生小兔子
if (month < 3) {
console.log('兔子的总和为' + rabit_num1 *2 +'只');
} else {
for(var i =3;i <= month;i ++){
// 1 1 2 3 5 8 13
//兔子的数量呈斐波那契数列
//即1+1 =2 2+3 = 5
rabit_num = rabit_num1 + rabit_num2;
rabit_num1= rabit_num2;
rabit_num2 = rabit_num;
}
console.log('兔子总和有:'+rabit_num*2 +'只');
}
}
rabitNum();
//递归方法(效率较低,通过不停的调用自身来实现)
function fn(n){
if(n == 1|| n==2){
return 1
}
return f(n-1)+f(n-2)
}
fn(6)
猴子摘下若干个桃子,当即吃掉了一半,还不过瘾 ,又多吃了一个,第二天,又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天的时候,发现只剩下一个桃子。要求用程序计算出:第一天一共摘下多少个桃子?
思路:最后一天有一个桃,那么当他前一天不多吃一个桃的时候,他最后一天就有前一天一半的桃 以此类推
function totalPeach(){
var peach_num =1;
for(var i = 9; i >= 1;i--){
peach_num =( peach_num +1)*2;
}
console.log('他第一天总共摘了'+peach_num+'桃');
}
totalPeach();
题目:判断101-200之间有多少个素数,并输出所有素数。
//明白素数是什么
function numSum(){
var count = 0;
for(var i =101; i <= 200;i++){
for(var j =2 ;j < i;j++){
//能够被从2开始的数,取余是否为0
if (i % j == 0){
break;
}
}
//如果循环到最后都没有取余为0
if(i == j){
console.log(i+'此数是素数!');
count ++;
}
}
console.log('素数有'+count+'个');
}
numSum();