1、判定2000-2500年中是闰年的年,输出闰年的条件是:
(1).能被4整除,但同时不能被100整除的年份都是闰年
(2).能被400整除的年份是闰年
其它情况都不是闰年
document.write('闰年有: ')
for(var i=2000;i<2500;i++){
if ((i%4 == 0 && i%100 !=0)||i%400==0) {
document.write( '---'+i+' ')
}
}
2、 水仙花数 (用三层循环实现)
例:水仙花数 153=111+555+333
输入一个数,判断是不是水仙花数
var sxh=parseInt(prompt('输入一个数字'))
var b=parseInt(sxh/100)
var s=parseInt(sxh%100/10)
var g=sxh%10
if (b*b*b+s*s*s+g*g*g==sxh) {
document.write('是水仙花数')
} else {
document.write('不是水仙花数')
}
3、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
var myArray=new Array()
let i,j,sum=0;
myArray[0]=1;
myArray[1]=2;
for(i=2;i<21;i++){
myArray[i]=myArray[i-1]+myArray[i-2];
}
for (j = 0; j < 20; j++) {
sum=sum+parseInt(myArray[j+1])/parseInt(myArray[j])
}
document.write('2/1+3/2+5/3+8/5+...前20个相加的:'+sum)
4、 抓球问题:有红球5个,黑球7个,白球9个,取出12个有多少种组合 分别是什么,
var sum=0;
for (var i=0;i<=5;i++){
for (var j=0;j<=7;j++){
for(var k=0;k<=9;k++){
if(i+k+j==12){
sum=sum+1;
document.write('———————'+"红:"+i+"黑:"+j+"白:"+k);
if (sum%3==0) {
document.write("<br />");
}
}
}
}
}
document.write("<br />"+"共有"+sum+"种可能性");
5、 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
var ten=1
document.write('第10天有:1个桃子<br />')
for (let i = 10; i >1; i--) {
ten=ten*2+2
document.write("第"+(i-1)+'天有:'+ten+'个桃子<br />');
}
6、 用数组实现 序列:1,2,3,5,8,13…。找出第20个数是多少?得出前20个数之和是多少?
var sum=3
var myarry=[20]
myarry[0]=1
myarry[1]=2
for (let i = 2; i < 20; i++) {
myarry[i]=myarry[i-1]+myarry[i-2]
sum+=myarry[i]
}
document.write('总数是:'+sum+'<br>')
document.write('第20个数是:'+myarry[19])
7、 猜数字游戏,有一个0-100随机数 玩家有5次输入的机会猜,每次猜一次,都要将结果告诉玩家是小了,还是大了,如果在5次机会内猜中,输出“聪明”,程序结束,如果5次机会用完 程序直接结束。
var sj=Math.floor(Math.random()*101);
var jishu=5
var x=prompt('请输入你猜的数:')
for (let i = 5; i>0; i--) {
if (x>sj) {
jishu=jishu-1
if (jishu==0) {
alert('没有机会了哦!')
break
}
alert('你猜的数大了,还有'+jishu+'次机会')
x=prompt('请输入你猜的数:')
} else if(x<sj) {
jishu=jishu-1
if (jishu==0) {
alert('没有机会了哦!')
break
}
alert('你猜的数小了,还有'+jishu+'次机会')
x=prompt('请输入你猜的数:')
}else{
alert('聪明!')
break
}
}
alert('公布答案——随机数是:'+sj)
8、 有一个4个长度的数组,每个位置装有0-9之间的随机数字,有10次输入的机会来猜每个位置的上的数是什么,每次猜完4个数字以后都要给出提示,正确几个 错误几个,只有位置和数字完全正确才算正确,其他情况全视为错误。
var four=new Array(4)
document.write('四个随机数下标及其数值为:'+'<br>')
for (let i = 0; i < 4; i++) {
four[i]=Math.floor(Math.random()*11);
document.write('('+i+','+four[i]+')')
}//产生4个随机数
alert('请输入数的位置(下标)及其数值,例如2,6:')
for (let j = 0; j < 1; j++) {
var shuru=prompt('第'+(j+1)+'输入:')
var result=shuru.split(',')//将数据按,分割
document.write('<br>')
if (four[result[0]]==result[1]) {
document.write(result[0]+','+result[1]+'输入正确√'+'<br>')
}else{
document.write(result[0]+','+result[1]+'输入错误×'+'<br>')
}
}
9、 数组去重 [1,2,3,4,2,1,3,5,6,9,5] 返回出来的结果 [1,2,3,4,5,6,9]
var myarry=[1,1,2,2,3,4,5,6,6]
for (let i = 0; i < myarry.length; i++) {
for (let j = i+1; j < myarry.length; j++) {
if (myarry[i]===myarry[j]) {
myarry.splice(j, 1);
}
}
}
document.write(myarry)