宝藏例题(欧几里得算法+素数的三种境界………)
Posted hanwangyyds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宝藏例题(欧几里得算法+素数的三种境界………)相关的知识,希望对你有一定的参考价值。
1,写代码将三个数从大到小输出
底层逻辑:
- 首先,定一个不变的顺序,A>B>C-------------三个坑
- 再想着把三个数顺序的放在三个坑中
- 假设三者的大小关系进行排序,需要进行三次
- 临时变量tmp不需要重新设置
2,计算最大公约数---------辗转相除法/欧几里得算法
%作为运算符是用来取余的,/是除法运算。
例如:除法运算式
65 ÷8 = 8余1
那么
65 / 8 = 8
65 %8 = 1
TIP:
- 对%和/概念的区分,还需注意(巧计:在计算最大公约数时,用的都是%)
- 在运用while循环时,()内为判断条件,等于0就是假,直接跳出。所以可以利用这一特性,当取模为0时,就跳出循环。
3,判断1000~2000年的闰年
方法:
这二者均是闰年。
两种方法
&&并且
|| 或者
4·打印素数
素数的定义:只能被1和自身整除的数为素数。
这类代码需要分类讨论。
TIP:分类时应该想清楚另一种情况,为何会跳出来,应该是i==j
另一种分类(进阶版)
优点:代码形式类似,但试除的次数少了许多。
至尊版:
在奇数里面找素数,偶数直接跳过,时间直接节省了一半
自我反思:在第二个for循环括号问题的处理上,老是出问题!
以上是关于宝藏例题(欧几里得算法+素数的三种境界………)的主要内容,如果未能解决你的问题,请参考以下文章
宝藏拼图神秘上线!三种玩法刷爆朋友圈—小姐姐直呼太上瘾了!!