习题练习
习题一
输入一个年份值,判断是否是闰年,输出相应的信息。
解析:闰年判断条件如下:
(1)年份能被400整除
(2)年份能被4整除但是不能被100整除
js代码实现:
var a = prompt("请输入一个年份");
if(a%400===0||a%4==0&&a%100!==0){
console.log(a+"是闰年");
}
else{
console.log(a+"不是闰年");
}
输出结果:
习题二
输入一元二次方程系数,若有实数根,求根并输出,否则输出“不是二次方程或没有实数根”的信息。
解析:求根公式:
js代码实现:
var a = prompt("请输a");
var b = prompt("请输b");
var c = prompt("请输c");
var d,e;
var t = b*b-4*a*c;
if(t<0){
console.log("没有实数根");
}else if(t===0){
d=-b/(2*a);
console.log("有一个根"+d);
}else{
d = ((-b-Math.pow(t,0.5))/(2*a));
e = ((-b+Math.pow(t,0.5))/(2*a));
console.log("有两根"+d+e);
}
输入a=1,b=3,c=2。输出结果如下:
习题三
编写程序,计算邮局汇款的汇费:如果汇款金额小于100元,汇费为1元,如果金额在100元与500元之间,按1%收取汇费,如果金额大于500元,汇费为50元。
解析:用条件语句判断汇款金额在哪一个范围。
js代码实现
var a = prompt("请输入金额")
var k=0;
if(a<=100){
k=1;
}else if(a>100&&a<=500){
k=a*0.01;
}else{
k=50;
}
console.log("汇率为"+k+"元");
输入450。输出结果如下:
习题四
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
解析:从第二项开始,分子为上一项的分子分母之和,分母为上一项的分子。
js代码实现:
var a = 1;
var b = 2;
var sum=0;
var temp=a;
var i=0;
while(i<20){
temp=a;
sum=sum+(b/a);
a=b;
b=temp+b;
i++
}
console.log(sum);
输出结果如下:
习题五
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
解析:从第十天开始计算,设第九天有n个桃子,第十天还剩一个桃,所以n-n/2=1
,可以得出第九天有n=2*(1+1)
个桃,由此可得一个有n=2*(a+1)
个桃,a为第二天的桃子总数。
js代码实现:
var a=1;
var n;
var i=0;
for(i=0;i<9;i++){
n=2*(a+1);
a=n;
}
console.log("一共有"+n+"个桃子");
输出结果如下: