JavaScript-5(常见题目-3)

1、输入年份,再输入月份,弹出这个月有多少天?

思路分析:1,3,5,7,8,10,12不管哪一年都是31天,可以通过if或switch,case来实现如下情况下都是31天,然后判断年份是闰年还是平年,来确定2月是29天还是28天,其余的月份为30天。

<script type="text/javascript">
	var year = Number(prompt("请输入年份"));
	var month = (prompt("请输入月份"));
	switch(month) {
		case"1":alert("该月有31天");
		break;
		case"3":alert("该月有31天");
		break;
		case"5":alert("该月有31天");
		break;
		case"7":alert("该月有31天");
		break;
		case"8":alert("该月有31天");
		break;
		case"10":alert("该月有31天");
		break;
		case"12":alert("该月有31天");
		break;
		case"2":if (year%100 != 0 && year%4 == 0) {
			alert("该月有29天")
		} else if(year%400 == 0){
			alert("该月有29天")
		} else{
			alert("该月有28天")
		};break;
		default:
			alert("该月有30天");
		
		
	}
</script>

2、1000以内的水仙花数
  (三位数  各个数字的立方和等于本身
  例如   1*1*1 + 5*5*5 + 7*7*7  = 157)

思路分析:百位数上的数字取值范围为1~9,十位和个位数的取值范围都是0~9,通过三个for循环的嵌套,实现100~999的数字都能轮到,然后判断(百位数的立方)+(十位数的立方)+(个位数的立方)==100*百位数+10*十位数+个位数,是的话打印出数字

<script type="text/javascript">
    var zs= 0;
    var m = 0;
    for(var a=1;a<10;a++){
        for (var b=0;b<10;b++) {
            for(var c=0;c<10;c++){
                if(a*a*a+b*b*b+c*c*c==100*a+10*b+c){
                    zs++;
                    m=100*a+10*b+c;
                    document.write("该数字为:"+m+";"+"<br />");
                }
            }
            
        }
    } console.log(zs);
</script>
原文地址:https://www.cnblogs.com/zhangrui0328/p/8776680.html