1.公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
公鸡最多50,母鸡最多100,小鸡最多200
var sum=0;
for(var i=1;i<51;i++)
{
for(var j=1;j<101;j++)
{
for(var k=1;k<201;k++)
{
if(i*2+j*1+k*0.5==100 && i+j+k==100)
{
sum=sum+1;
}
}
}
}
alert(sum);
总结:与上篇凑钱的题有异曲同工之处,同时也要注意的是每种至少一只,买100只;
2.羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能
羽毛球拍最多买13个 球最多买66个 水最多买100个
var sum=0;
for(var i=1;i<14;i++)
{
for(var j=1;j<67;j++)
{
for(var k=1;k<101;k++)
{
if(i*15+j*3+k*2==200)
{
sum=sum+1;
}
}
}
}
alert(sum);
总结:与凑钱的做法相类似,注意每种至少一个。
3.折纸:折多少次和珠穆朗玛峰一样高
1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米
var hou = 0.0001;
for(var i=1;i>=1;i++)
{
hou = hou*2;
if(hou>8848)
{
var cishu=i;
break;
}
}
alert(cishu);
总结:hou为厚度,找到了它的规律,其中break代表的是跳出全部循环,只要厚度大于8848时,cishu就跳出循环。
4.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问8个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
幼兔 1 小兔 0 成兔 0 初始值
幼兔 0 小兔 1 成兔 0 第一个月
幼兔 1 小兔 0 成兔 1 第二个月
幼兔 1 小兔 1 成兔 1 第三个月
幼兔 2 小兔 1 成兔 2 第四个月
幼兔 3 小兔 2 成兔 3 第五个月
幼兔 5 小兔 3 成兔 5 第六个月
8 5 8
13 8 13
当前月份幼兔 = 上个月的成兔+上月小兔
当前月份小兔 = 上月幼兔
当前月份成兔 = 上月成兔+上月小兔
var sy = 1;
var sx = 0;
var sc = 0;
var ny = 0;
var nx = 0;
var nc = 0;
for(var i=0;i<8;i++)
{
//当前月份
ny = sc+sx;
nx = sy;
nc = sc+sx;
//把当前月份变成上个月
var sy = ny;
var sx = nx;
var sc = nc;
}
alert(ny);
alert(nx);
alert(nc);
总结:sy=上个月幼兔;sx=上个月小兔,sc=上个月成兔;ny=现在的幼兔,nx=现在的小兔,nc=现在的成兔;i=0时,就已经相当于是第一个月了,把当前月份变成上个月。