循环高级训练+leecode练习

本文介绍了循环中的高级概念,如无限循环、break和continue的使用,以及结合LeetCode练习的实例,包括逢7过游戏、求平方根、判断质数和自动生成随机数的猜数字游戏。通过优化算法提高效率,并探讨了扩展功能如猜中次数限制和保底机制。
摘要由CSDN通过智能技术生成

day05-循环高级训练+leecode练习

1.无限循环

2.条件控制语句

  • break

  • continue

continue:

不能单独存在的,只能存在于循环当中。

表示:跳过本次循环,继续执行下次循环

eg:

break:

不能单独存在的。可以用在switch和循环中,表示结束,跳出的意思。

eg:

练习1:逢7过游戏:从1-100打印出符合逢7过游戏规则的数字

i % 10 == 7,能抓到所有个位数是7的数,i % 7 == 0,能抓到所有7的倍数。这俩条件永远不变,剩下的,你要抓100以内的,能抓到所有十位数是7的数,就写i / 10 % 10 == 7,你要抓1000以内,能抓到所有百位数是7的数,就加一个i / 100 % 10 == 7,你要抓10000以内的,能抓到所有千位数是7的数,就加一个i / 1000 % 10 == 7,以此类推

练习2:平方根:键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。结果只保留整数部分 ,小数部分将被舍去 。

练习3:求质数:键盘录入一个正整数 x ,判断该整数是否为一个质数。

要点:1、设立一个标记位判断是否循环结束

           2、将输出是否是质数的语句写在循环外

代码简化:如果输入数字过大,循环执行次数过多,需要提高执行效率

以平方根为展开:

例如81=9*9=3*27,以此展开,a*b=81,其中一个必定<=9,另一个>=9,执行循环,如果在i<=平方根的情况下,都不满足number%i==0,那么一定为质数,从而减少了循环量。(求根会在后续继续补充)

Random随机数的使用:与Scanner相似

小括号里面的是随机数范围,这个数一定是从0开始的到这个数减一结束,例如r.nextInt(100),就表示从0-99生成随机数.

秘诀:假如生成7-15

练习4:程序自动生成一个1-100之间的随机数,在代码中使用键盘录入去猜出这个数字是多少? 使用循环猜,一直猜中为止。

小提示:千万不要将类名与库名命名一样!!!不要将生成随机数的代码写在循环里面!!!

自我拓展一:限制猜中次数,猜不中就不猜了

思路:引入计数变量,如果猜大或者猜小,另其加一

自我拓展二:增加保底机制,第n次必中,无论猜多少

这里设置3次,运行代码:

运行结果:

无论第三次猜多少,必中的保底机制(和某农相似)

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值