数学问题:
1-100所有数字中,写出跳过带有3或3的倍数的数字,和7或7倍数的数字
这是一道简单的数学问题,动动脑,动动笔就能写出来。可是计算机不一样,计算机讲究逻辑。
html以及css不牵扯任何运算逻辑,所以没有办法去进行运算这种行为,这就必须使用javascript这门语言了。
分析:
符合题意的跳过的数字应该是3.6.7.9.12.13.14.15.17........总之输出的数字不能含3或7,而且还不能是3或者7的倍数。
那么我们简单思考一下,发现条件语句就非常适合解决这种问题。
在此我们用for循环写,关于js的条件判断语句如何选择,后续会细讲。
特别说明一下,我会尽可能清楚的写注释,让你知道每一步是在做什么
我们插入代码段,你可以复制到你的编辑器,并运行在浏览器,打开检查功能后,找到控制台,就可以查看输出结果。
<script>
//1-100所有数字中,输出跳过带有3或3的倍数的数字,和7或7倍数的数字
for(let k=1;k<100;k++){ //(循环的初始;条件;表达式 )
if(k%7==0 || k/10==7 || k%10==7 || 70 <k && k< 80 ){ //(条件表达式)
continue; //(带7或7的倍数的数字的跳出本次循环,开始下一轮循环)
}
else{ //(不带7或7的倍数的数字开始本轮循环)
if(k%3==0 || k/10==3 || k%10==3 || 30 <k && k< 40 ){ //(条件表达式)
continue; //(带3或3的倍数的数字的跳出本次循环,开始下一轮循环)
}
else{ //(条件表达式)
console.log(k); //(不带3或3的倍数的数字and不带7或7的倍数的数字输出到控制台)
}
console.log(typeof k) //(将k的类型输出到控制台)
}
</script>
总结:
拿到一个问题后,首先要分析:
1.解决这个问题需要哪些步骤
2.每个步骤我们能否通过现有的技术实现
3.怎么实现?
按照思路,一步一步来,一定能解决问题。如果问题没有得到解决,一定是上面某一步出了问题