算法优化 您所在的位置:网站首页 python判断素数的最优算法 算法优化

算法优化

2024-06-21 19:35| 来源: 网络整理| 查看: 265

4.1优化算法-----输出素数

最简代码请直接移步文末

原代码:https://www.cnblogs.com/Tianhaoblog/p/15077840.html 对应优化如下优化一:在遍历内循环时,只要满足一个“非1非自身”的数可以整除,直接break跳出循环,因为此时“i”已经不是质数。对“非质数”数据优化明显;

优化二:在遍历内循环时,判断“i”是否为质数,不用遍历2-->i,只要判断2-->根号i,若不能被整除,就说明“i”是质数。对所有数据均有优化,但因优化一存在,非质数已经跳出循环,所以此条优化更有助于“质数”的数据优化;

image

假设i=100, 判断是否在两数相乘等于第三个数 a × b = c 因为不包含1,所以 a 、b 两个数最小均为 2 ,且最大均为c / 2。 a = 2 时,b = c / 2,满足条件a × b = c; a = c / 2 时,b = 2,满足条件a × b = c;

a 从 2 开始不断递增,到 c / 2截止(2,3,4,5,6,7————c / 2) 此时 b 从 c / 2 开始不断减小,到 2 截止(c / 2————7,6,5,4,3,2) 此时 a = 2 和 b = 2 时相当于重复遍历,找到 a 和 b 的临界点,停止遍历,这样就不会重复了,临界点就是 a = b 的点,如上述例子中的10,当 a = b 时,恰好 a 为根号c

代码如下:

public class PrimeNumber { public static void main(String[] args){ long start = System.currentTimeMillis();//开始时间 int isLine = 10; boolean isFlag = true; for (int i = 2; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有