js基础知识八--for循环和练习
一、for循环
语法:
for(初始化表达式;条件表达式;更新表达式){
语句…
}
执行流程:for循环在执行时,1.先执行初始化表达式,初始化一个变量(只会执行一次);2.执行条件表达式,判断循环是否执行,如果为false,则循环结束;3.如果为true则执行循环体,语句;4.执行更新表达式对变量进行更新;5.重复2的操作。
for循环中的表达式都可以省略不写,除了括号里的两个分号
for循环的练习
练习1,求100以内所有的奇数之和
//获取到100以内的数
//创建一个变量存储结果
let sum = 0;
for (let i = 0; i <= 100; i ) {
// 判断i是否为奇数
if (i % 2 !== 0) {
sum = sum i;
}
}
console.log(sum);
或者
let sum = 0;
// i =2就证明取得是奇数了
for (let i = 1; i < 100; i = 2) {
sum = i;
}
console.log(100以内所有的奇数之和${sum}
);
练习2,求100以内所有7的倍数之和,以及个数
// 记录和
let sum_7 = 0;
// 个数
let count = 0;
//获取所有7的倍数
for (let i = 7; i <= 100; i = 7) {
sum_7 = i;
count ;
}
console.log(`100以内所有7的倍数之和${sum_7}以及个数${count}`);
练习3,水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:13 53 3**3 = 153)。求 1000 以内所有的水仙花数!
思路:i是不是水仙花数,各个位的立方和应该等于它本身,它就是水仙花数(如果i的百位立方 十位立方 个位的立方=i,则说明i是水仙花数),获取i的百位,十位,个位上的数字,现在变量i,已知是一个三位数,求它的百位数字?–一个任意三位数,除以100,然后取整得到的就是它的百位数,依次类推
// 获取到所有的三位数
for (let i = 100; i < 1000; i ) {
// 获取i的百位,十位,个位上的数字
// 获取i的百位的数字
let bai = parseInt(i / 100);
// console.log(`百位数${bai}`);
// 获取i的十位数字
let shi = parseInt((i - bai * 100) / 10)
// console.log(`十位数${shi}`);
// 获取i的个位数字(三位数除以10,其余数就是个位数)
let ge = i % 10;
// console.log(`个位数${ge}`);
if (bai ** 3 shi ** 3 ge ** 3 === i) {
// 进入判断,说明i是水仙花数,打印i
console.log(`水仙花数${i}`);
}
}
练习4,获取用户输入的任意数,判断其是否是质数。质数也叫素数,一个数如果只能被1和它本身整除,那么这个数就是质数。1不是质数也不是合数。
创建(输入)一个数,检查num是否质数如果5只能被1和5整除,那么5就是质数,如果5只有1和5两个因数,那么5就是质数,也就是num只能被1和num整除,那么num就是质数,检查num是不是质数,只需检查num有没有1和num以外的因数,如果有,num不是质数,如果没有,num是质数
获取到所有的可能整除num的数,获取到1-num之间的所有数,不包括1和num,检查这些数能否整除num,如果都不能整除num,则num是质数,如果有任意一个能整除num,则不是质数
//创建一个变量,记录检查的状态,默认认为num是质数,通过一个状态来判断是否质数,也就是借助一个中间的变量true或者false的状态
let flag = true;
let num = prompt("请输入一个数字");
// 获取到1-num之间的所有数,检查这些数能否整除num
for (i = 2; i < num; i ) {
// i现在就是所有可能整除num的数
// 检查num能否被i整除
// 如果num能被i整除,则说明num一定不是质数,进入判断,说明num一定不是质数
if (num % i === 0) {
// 通过默认判断,一开始认为就是true是质数,如果为false了,即不为质数了
flag = false;
}
}
// 输出结果
if (flag) {
// num是质数
alert(`${num}是质数`);
} else {
alert(`${num}不是质数`);
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghaiaa
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13