用java实现的素数第二种算法

Java实现算法导论中Miller-Rabin随机性素数测试 Miller-Rabin测试:   费马小定理:对于素数p和任意整数a,有ap ≡ a(mod p)(同余)。反过来,满足ap ≡ a(mod p),p也几乎一定是素数。   伪素数:如果n是一个正整数,如果存在和n互素的正整数a满足 an-1 ≡ 1(mod n),我们说n是基于a的伪素数。如果一个数是伪素数,那么它几乎肯定是素数。   Miller-Rabin测试:不断选取不 阅读详情
 
//遍历2以上N的平方根以下的每一个整数,是不是能整除N
一,DOS界面
public class PrimeNumber1 {
 public static void main(String args[]) {
 int N = 100;
 int p[]=new int[50];
 p[0] = 2;// 放入第一个素数,有人说2不是素数,如果你是其中一员,就改成3吧
 int nu = 1;
 boolean bflag = true;
  for(int i = 3;i <N; ++i)
  {
  bflag = true;
  int iTemp = (int)Math.sqrt((float)i);
   for (int j = 2; j <=iTemp; ++j)
   {
    if(i%j == 0)
    {
    bflag = false;
    break;
    }
   }
   if(bflag)
   {
   p[nu++] =(int)i;
   }
  }
  for(int l=0;l<=nu-1;l++)
  System.out.print(p[l]+" ");
  }
}
 
 
二,带弹出窗口的:(怎样在弹出窗口中一次输出所有的素数还没解决,现在只能在DOS中输出结果)
import javax.swing.JOptionPane;
public class PrimeNumber1Pane
{
 public static void main(String args[])
 {
  while (true)
  {
   String b = JOptionPane.showInputDialog("Enter figure that you want to beg prime number!");
   int N = Integer.parseInt(b);
   int p[] = new int[50];
   PrimeNumber1Pane a = new PrimeNumber1Pane();
   int nu = a.primeNumber(p, N);
   for (int l = 0; l <= nu - 1; l++)
    System.out.print(p[l] + " ");
   int answer = JOptionPane.showConfirmDialog(null, "End program?", "Want to end?", JOptionPane.YES_NO_OPTION);
   //字符串“End program?”可以被别的字符串取代,这将是出现在带Yes/No按钮的窗口中的字符口串,字符串“Want to end?”也可被取代,并将出现在窗口的标题中。
   //JOptionPane.YES_NO_OPTION表示你需要一个带Yes/No的窗口。
   if (answer == JOptionPane.YES_OPTION)
    System.exit(0);
   else if (answer == JOptionPane.NO_OPTION)
    System.out.println("/nOne more time");
  }
  //else
   //System.out.println("This is impossible");
 }
 public int primeNumber(int p[],int N)//p为放入素数的首地址,N为要求素数的数,返回为素数的个数
  {
  p[0] = 2;// 放入第一个素数,有人说2不是素数,如果你是其中一员,就改成3吧
  int nu = 1;
  boolean bflag = true;
  for (int i = 3; i < N; ++i)
  {
   bflag = true;
   int iTemp = (int)Math.sqrt((float)i);
   for (int j = 2; j <= iTemp; ++j)
   {
    if (i % j == 0)
    {
     bflag = false;
     break;
    }
   }
   if (bflag)
   {
    p[nu++] = (int)i;
   }
  }
  return nu;
  }
}
 
Java中两种高效算法实现寻找素数 素数是只能被1和它本身整除的自然数,具有唯一性且是数论中的基础。素数不仅在数学中占有重要地位,在密码学、计算机科学等领域也有广泛的应用。素数的分布虽然看似无序,但其背后隐藏着深层次的规律性,这些规律的探索是数学家和计算机科学家共同关注的课题。素数,也称为质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。素数是数论中的基本对象,也是构成自然数的基石。每个大于1的自然数要么本身就是素数,要么可以被分解为素数的乘积,这种分解在数学上称为素数的唯一分解定理。 阅读详情

相关推荐

Carsim2019与Simulink (Matlab2018b)联合仿真成功(超详细)

Carsim与Simulink联合仿真成功

强强的博客 3万+

素数切换

Problem I Time Limit : 3000/1000ms (Java/Other)Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 3Accepted Submission(s) : 3 Font: Times New Roman | Verdana | Georgia Font Siz...

weixin_30346033的博客 140

Word公式一键转MathType保姆级教程(附omml2mml.xsl报错终极解决方案)

本文提供Word公式一键转MathType的保姆级教程,重点解决常见的omml2mml.xsl报错问题。通过详细分析报错原因、官方解决方案实操步骤及转换后格式优化技巧,帮助用户高效完成公式转换,适用于科研论文和商业文档编辑。

weixin_30082367的博客 562

Java案例找素数(三种方法)

Ⅱ:(continue跳转量)

mrjieke6的博客 874

Elasticsearch连接中断:深入解析Connection reset by peer问题及优化策略

本文深入解析Elasticsearch连接中断问题,特别是Connection reset by peer错误的成因与解决方案。从TCP层的心跳机制到客户端与服务端的配置差异,详细介绍了网络不稳定、防火墙拦截等常见原因,并提供了六种优化策略,包括KeepAlive调整、TCP参数调优和智能重试机制等,帮助提升Elasticsearch连接的稳定性。

weixin_42546392的博客 411

Ubuntu下Ollama局域网共享大模型服务:5分钟搞定配置与防火墙设置

本文提供了一份在Ubuntu系统上快速配置Ollama实现局域网共享大模型服务的实战指南。通过修改服务配置使其监听所有网络接口,并设置UFW防火墙规则,用户可在5分钟内让同一Wi-Fi下的其他设备(如笔记本、手机)便捷调用主机上的AI模型能力,实现团队或多设备间的AI资源共享。

ik6789012的博客 825

Java_案例-找素数

【代码】Java_案例-找素数。

Cpm_Aries的博客 160

【软件介绍】RVC本地部署使用方法

【摘要】RVC是一款功能强大的开源语音转换工具,具有实时处理、多音效选择、高质量音频处理等特点。文章详细介绍了RVC的安装与使用方法:1)配置Python环境;2)根据电脑系统选择对应安装包解压;3)启动程序进入浏览器操作界面。重点讲解了声音克隆的关键步骤:建议使用短音频素材,选择合适训练方法(推荐pm或rmvpe),设置100次训练轮数,生成的模型文件存入weights文件夹。最后通过上传音频即可实现声音克隆。操作过程需注意保持程序运行状态,并提供了相关资源下载地址。

心动的那一刻,记忆便盛开了花 2986

Java代码实现—寻找素数

目录 1、什么是素数 2、代码1 3、代码2(n/2) 4、代码3(sqrt(n)) 5、代码4(函数实现) 6、结语 1、什么是素数 首先我们要知道什么是素数,下面是百度百科的解释,素数又称质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 我们换成代码的语言就是:数字本身n,与除了1和它本身的数字相除(/),都不能整除,即为素数,那么我们很自然的想到了代码1的方法。 2、代码1 代码1的逻辑为,我们用一个循环,生成一个2>并且n<的数字,让

weixin_44580000的博客 8924

S7-1200g2运动控制实战:从轴组配置到程序调试

本文详细介绍了S7-1200g2运动控制功能的实战应用,从轴组配置到程序调试的全流程。通过TIA Portal中的工艺对象配置,实现单轴、同步轴组等运动控制模型,并分享常见问题排查与性能优化经验,帮助工程师快速掌握中小型自动化设备的运动控制技术。

weixin_28698059的博客 591

基于STM32的智能鱼缸设计

为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,可通过控制键进行一键控制。...

1万+

关于java实现的求素数的几种方法

经过一番艰难的思想斗争,觉得自己并不想学习网络,怀疑自己入错了坑!我想了很久想的我头晕目眩,想的我茶不思,饭不想;想的我不想再想; 走路在想,上课在想,下课在想,睡觉在想,就连拉屎也不得不想,,最后还是决定学习Android开发,不管我的选择是否正确,何况本就没有正确一说,正确与错都只是那些成功者对我们诉说的故事而已!至少我现在不后悔,现在不会以后也不会,因为这就是我的选择; 而且

当然,我在扯淡!(Paulo Airfald) 2万+

软考中级网络工程师通关指南:从学习到实战

本文是软考中级网络工程师备考实用指南,先介绍备考前准备,包括考试时间、形式、分值等基本信息,及引导读者评估自身基础以制定学习计划;再推荐官方教材、辅导书籍、在线课程平台和学习社区等优质资源。随后梳理网络协议、设备配置、安全、规划设计等重点知识,剖析企业网络故障排查与园区网络设计典型案例。还分享真题使用、解题技巧、错题本建立等习题解答方法,给出分阶段备考、时间安排与总结反思的备考计划,最后提供考场答题顺序、检查及心态调整策略,助力考生高效备考、顺利通关。

邓邓子的博客 1856

Java 0-100素数

public class xunlian { public static void main(String[] args) { for (int i = 2; i <= 100; i++) { boolean sushu = true; for (int j = 2; j < i; j++) { if (i % j == 0) { sushu = false; break; } } if(sushu) { System.out.println(i); } } } }

木子study的博客 672

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

判定一个数字是否是素数 . 打印 1 - 100 之间所有的素数

public static void main3(String [] args){ int i=0; int j=0; int count=0; for( i=1;i<=100;i++){ boolean flag=true; for( j=2;j<i/2;j++){ if(i%j==0){ flag=false; break; ...

qq_41552331的博客 1030

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

5 第10001个素数

5 第10001个素数 列出前6个素数,它们分别是2、3、5、7、11和13。我们可以看出,第6个素数是13。 求第10,001个素数是多少? public class Sushu10001 { //求素数 public static ArrayList<Integer> prime() { boolean flag = true; ArrayList<Integer> list = new ArrayList<Integer>(); whil

qq_42990803的博客 634

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java实现查找101到200间的素数

以两种不同的方法使用java实现查找101到200间的素数。 方法一: 循环遍历101到200,对于每一次遍历都执行,除以2到该数平方根的取余。 方法二: 先找到2到最大值的平方根的倍数,即合数,再剔除掉。 循环遍历101到200的平方根14,对于每一次遍历都执行获取当前值得倍数(从101除以当前值开始),并从列表里将其remove掉。package test; import java.u

mix0313的博客 5177

count primes java_LeetCode算法题-Count Primes(Java实现)

这是悦乐书的第190次更新,第193篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第49题(顺位题号是204)。计算小于非负数n的素数的数量。例如:输入:10输出:4说明:有4个素数小于10,它们是2,3,5,7。本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。02 第一种解法判断一个数n是否为素数...

weixin_39942572的博客 79

高效判断一个数,是不是素数

面试的时候,如果要手写算法题目,判断一个数是不是素数,可以说是非常常见的问题了,这道题目回答并不算难,但是想要以优雅高效的方法回答,却并不轻松,下面我会介绍三种方式,时间复杂度从高到低。 注意:0和1既不是素数也不是合数 第一种方式 1.方式:从2遍历到n-1 2.时间复杂度:O(n) 3.代码示例 boolean firstMethod(int n) { if (n < 2) { return false; } else if (n == 2) { r

qq_52324490的博客 294

求素数的三大算法 —— Java 篇

求素数的三大算法 —— Java 篇 素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 算法一 :暴力遍历 思路: 素数我们运用两个循环的遍历的方式,首先根据素数的定义:质数定义为在大于1的自然数中,除了1和它本身以外不再被其数整除了。因为任何数都可以被 1 整除的,所以我们的第一个for( )循环语句的初始值从 2 开始进行,到你所需的范围。 我们的第二个for()循环语句,的判断条件是:从上个for()循环语句的 变化值开始,

weixin_61635597的博客 7152

JAVA:实现是否为Prime素数算法(附带源码)

JAVA:实现是否为Prime素数算法(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 2016

java实现找素数

** 找素数** 素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,… 请问,第100002(十万零二)个素数是多少? 请注意:“2” 是第一素数,“3” 是第二个素数,依此类推。 不需要提交源代码,只要写出准确的结果即可! 答案写在:“解答.txt”中,不要写在这里。 参考答案: 1299743 import java.ma...

南 墙 1万+

java生成大素数_用BigInteger实现大素数生成算法

一.通过素数的基本性质根据素数的性质(除了1和此整数(n)自身外,无法被其他自然数整除的数):即从2到n/2的数都不能整除n。1 public static booleanisPrime(BigInteger num)2 {3 BigInteger two = BigInteger.valueOf(2);4 for(BigInteger i = two; !(i.compareTo...

weixin_35326667的博客 1987

Java计算素数算法优化以及拓展

package javaBlog; import java.util.ArrayList; import java.util.List; public class GetprimeNumber { /* * 获取[1,n]区间素数*/ public List&lt;Integer&gt; forEachNumberGetprime(int number) { ...

易庞宙的博客 1万+

Java寻找素数的高效算法

在看Java语言程序设计进阶篇这本书,看一下找素数的算法。具体要求是给出一个数n,打印出小于等于n的所有素数第一种方法,代码如下  : Scanner input = new Scanner(System.in); System.out.print("Find all prime numbers &lt;= n, enter n: "); int n = input.nextIn...

yeya24的博客 5719

关于Java反素数的实现

反素数是指一个非回文素数,将其反转之后也是一个素数(例如:13和31,17和71)。回文素数就是相应位置对称的素数(例如11,101,757)。 Java实现反素数的过程可以分为两个方法,第一个方法判断一个数和它的反数是否都为素数,并且是非回文数,第二方法是判断一个数是否为素数,供第一个方法调用。 具体代码如下: package itcast_01; import java.util.Scanne...

qq_36218243的博客 1715
上一篇: 素数算法
下一篇: 继承方法求圆和矩形面积
geting
博客等级 码龄20年 13粉丝 26原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值