day04+思维
循环结构【do while】
do while循环 do{ 执行的代码 }while(条件) 不管条件是否满足,都执行一次代码 开始进行条件判断 如果条件false 那就结束循环 如果条件true 那就继续再执行一边代码 再判断条件
do while 和while 的区别 当初始化一个变量,如果再循环外边,do while 会执行一次,while不会执行
do {
var password = prompt('请输入密码'); // 无论如何 一定会执行一次
}
while(password != '123456'); // 如果密码不是123456 那就继续输入
for 循环
for(初始值;判断条件;变化的代码){ 条件满足的执行的代码; }
var sum = 0;
for(var n=1;n<=100;n++){
if(n %2 ==0){
sum+=n;
}
}
console.log(sum)
循环嵌套
循环中再来一个循环【从外到里】
打印直角三角形
for(var n=0;n<9;n++){ //外边的循环控制行
for(var m=0;m<=n;m++){ // 里边的循环控制列
document.write('*'+' ')
}
document.write('<br />')
}
九九乘法表
document.write('<table border="1">')
for(var n=1;n<=9;n++){ //外边的循环控制行
document.write('<tr>')
for(var m=1;m<=n;m++){ // 里边的循环控制列
document.write('<td>'+n+'*'+m+'='+n*m+' '+'</td>')
}
document.write('<br />')
document.write('</tr>')
}
document.write('</table>')
for(var n=9;n>0;n--){ //外边的循环控制行
for(var m=1;m<=n;m++){ // 里边的循环控制列
document.write(n+'*'+m+'='+n*m+' ')
}
document.write('<br />')
}
百钱百鸡问题【穷举法】
// 公鸡 5 // 母鸡 3 // 小鸡 1元3只 // 100元 100只鸡 //1 1 1 1 //1母鸡 2 3 4 //98 97 96 95 // 2 //1 //97 // 0 20 x // 0 33 y // 100-公鸡-母鸡 z // 数量 = 100 钱数=100 公鸡=x 母鸡=y 小鸡=z
for(var x=0;x<=20;x++){//x<=100/2
for(var y=0;y<=33;y++){//y<==100/3
var z=100-x-y
if(z>=0 && z%3==0 && x*5+y*3+1/3*z==100){
document.write('公鸡'+x+'只,母鸡'+y+'只,小鸡'+z+'只<br>')
}
}
}
结束语句
break 终止整个循环 continue 跳过本次循环,继续下边的循环
案例 跳过4 18 48 数字,其他依旧输出
var i=1;
while(i<=100){
if(i==4 || i==18 || i==48){
i++; // 如果是4 那么就往后+1 但是4 跳出本次循环
// 遇到4 跳出 但是得继续后边的 所以需要 i++;
continue;
}
console.log(i);
i++;
}