Skip to content

Latest commit

 

History

History
159 lines (115 loc) · 3.5 KB

181-495417-[趣味拓展]多重循环_水仙花数_四重循环_RGB遍历.sy.md

File metadata and controls

159 lines (115 loc) · 3.5 KB
show version enable_checker
step
1.0
true

二重循环

回忆

  • 上次我们算了完全平方数
  • 有两种方法
    • 遍历平方数
    • 遍历平方根
  • 经过比较
    • 一重循环不一定比二重循环差
    • 算法确实是可以优化的
  • 优化之后
    • 时间和空间都能节省
    • 是很有意思的
  • 那还有比二重循环更复杂的循环么?🤔
  • 下次再说 👋

图片描述

三重循环

图片描述

  • 三重循环有三重
    • 内圈
    • 中圈
    • 外圈
  • 有这个必要么?
    • 是不是有点为了多重循环而多重循环了

水仙花

  • 古希腊神话传说有一个美少年
  • 来到池塘边
  • 水面上赫然倒影着他自己的脸庞
  • 惊讶之余他也深深吸引着自己不自觉地凝视着水面上自己样子
  • 照镜子照入迷了
  • 结果就落水了
  • 没起来
  • 给淹死了

图片描述

  • 不久后池塘边上生长出来了淡黄色花朵的植物
  • 至此这花就和这哥们儿一个名字了Nazissen(延伸意:自恋,自我陶醉)
  • 自爱是必要的
  • 自恋就有点沉迷了...
  • 数字里面也有自恋的水仙花数

水仙花数

图片描述

  • 每个数字的三次方之和等于自身
  • 那么这个数字就自恋
  • 就是水仙花数
  • 如何得到所有水仙花数呢?

遍历

图片描述

  • 从100开始
    • 到999结束
    • 彻底遍历一次

具体代码

i = 100 
while i<1000: 
	s = 0 
	for e in str(i): 
		s += int(e)**3 
		if s==i: 
			print(i) 
	i += 1
  • 还有什么其他方法吗?

解法

图片描述

  • 这样确实可以完成
  • 不过好像还可以提高效率
  • 100以内不用遍历

三位数

图片描述

  • 但这好像不太完整
  • 其实就是百位避免是0就可以了

修改

图片描述

  • 这回就正确了

方法比较

  • 个人认为 后面方法更好
    • 不需要 类型转化
    • 不需要 切分字符串
    • 效率 更高

图片描述

  • 我们需要不断反思
    • 观察自己的
      • 大脑结构
      • 肠胃状态
      • 身体情况
      • 周围环境
    • 但是 不要自恋!
  • 不断观察
    • 不断修改自己的思路
    • 直到顺利完成任务
  • 在这基础上
    • 遍历所有四位的水仙花数也没有问题
  • 那就应该是个
    • 四重循环了

四重循环

图片描述

  • 三重循环遍历所有颜色
  • 外面再套一层死循环

图片描述

  • 可以慢慢看到红色

总结

  • 这次研究了二重循环之上的多重循环
    • 三重循环
    • 四重循环
  • 说白了就是循环套循环

图片描述

  • 从五运六气到年、月、日
  • 再到时、分、秒
  • 其实循环嵌套无处不在
  • 计算机中的多重循环可以优化吗?🤔
  • 下次再说 👋