温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Eratosthenes筛选求质数的方法是什么

发布时间:2021-12-20 14:10:44 来源:亿速云 阅读:173 作者:iii 栏目:云计算

这篇文章主要介绍“Eratosthenes筛选求质数的方法是什么”,在日常操作中,相信很多人在Eratosthenes筛选求质数的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Eratosthenes筛选求质数的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

import java.util.Scanner; public class Eratosthenes {     static void getPrimes(int num){         int []arr = new int[num +1];//长度为11的数组,能够存下表为0-10的数组,所以取10以内的数组,需要申请11长度的数组         for (int i = 1; i <= num; i++){             arr[i] = i;         }         arr[1] = 0;//1不是素数,排除1         for (int i = 2; i < Math.sqrt(num); i++){             for (int j = i+1; j < num; j++){                 if (arr[j] != 0 && arr[j]%i == 0){                     arr[j] = 0;                 }             }         }         for (int i = 0; i < num; i++){             if (arr[i] != 0){                 System.out.printf(arr[i]+"\t");             }         }     }     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         System.out.printf("请输入查询值:");         int num = scanner.nextInt();         getPrimes(num);     } } =============================== import java.util.Scanner; public class CheckPrime {     static boolean isCheck(int x){         for (int i = 2; i < x; i++){ //        for (int i = 2; i <= Math.sqrt(x); i++){             if (x % 2 == 0){                 return false;             }         }         return true;     }     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int x = scanner.nextInt();         System.out.println(isCheck(x));     } } /**  * 2是素数,1不是素数  *  * 排除异常树  * if(n < 2) return false;  *  * 偶数一定不适素数  * if(n%2==0) return false;  *  * 定理: 如果n不是素数, 则n有满足1< d<=sqrt(n)的一个因子d.   证明: 如果n不是素数, 则由定义n有一个因子d满足1< d< n.   如果d大于sqrt(n), 则n/d是满足1< n/d<=sqrt(n)的一个因子.    sqrt()是开方,开方的两个数是相等的,4*4=14,如果一个数大约平方根,那么另一个数一定小于平方根,才能满足二者的乘积等于两个平方根的积  1、素数及相关  素数,又称质数,在一个大于1的自然数中,除了1和此整数自身之外,不能被其他自然数整除的数。  比1大但不是素数的数称为合数。  1和0既不是素数,也不是合数。  算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的。  */

到此,关于“Eratosthenes筛选求质数的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI