目录

素数的定义

求解素数

素数判定法1:

遍历从2到n-1的所有数字,判断是否有可以被n整除的数,如果没有,则为素数。

优化法2:

判定的范围改为[2 -,n/2]。当 i>n/2 时,则判定为素数。

优化法3:

在Java中判定素数的范围也可以到sqrt(n),(对n开平方)。对应的函数为:Math.sqrt(n)


素数的定义

素数又称质数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数,否则称为合数(规定1既不是素数也不是合数)。

求解素数

素数判定法1:

遍历从2到n-1的所有数字,判断是否有可以被n整除的数,如果没有,则为素数。

import java.util.Scanner;
public class HomeWork {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入要判断的数字:");int n = sc.nextInt();int i = 0;for ( i = 2; i <= n-1 ; i++) {if(n % i == 0){System.out.println(n+"不是素数");break;}}if(i == n){System.out.println(n+"是素数");}}
}

法1中的循环条件比较浪费时间,下面进行对代码的优化。

优化法2:

判定的范围改为[2 -,n/2]。当 i>n/2 时,则判定为素数。

import java.util.Scanner;
public class HomeWork {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入要判断的数字:");int n = sc.nextInt();int i = 0;for ( i = 2; i <= n/2 ; i++) {if(n % i == 0){System.out.println(n+"不是素数");break;}}if(i > n/2){System.out.println(n+"是素数");}}
}

优化法3:

在Java中判定素数的范围也可以到sqrt(n),(对n开平方)。对应的函数为:Math.sqrt(n)

import java.util.Scanner;public class HomeWork {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入要判断的数字:");int n = sc.nextInt();int i = 2;for(;i <= Math.sqrt(100);i++){if(n % i == 0){System.out.println(n+"不是素数");break;}}if(i >Math.sqrt(n)){System.out.println(n+"是素数");}}
}

注意:判断是素数的条件是在for循环的外面,不能把它放到循环里。

判断一个数是否是素数(Java版)相关推荐

  1. 判断素数的java程序_Java代码实例 判断这个数是否是素数

    import java.util.Scanner; /* 7.1:判断数字是否为素数(时间:20分钟) 7.1.1 任务描述 写一个程序,由用户输入一个整数,判断这个数是否是素数(素数:只能被1和本身 ...

  2. 【C++,C语言,Java】判断一个数是否为素数,并求出100-200间的所有素数

    要求:设计一个程序,求出100-200间的所有素数,要求每行输出五个素数.判断一个数是否为素数用一个函数来实现. C++实现: #include<iostream> using names ...

  3. Java程序中如何判断一个数是否为素数

    文章目录 一.素数是什么? 二.思考步骤 1.满足定义:拿一个数看能不能被1和它本身整除,对吗?? 2.先说说1-100以内的素数如何输出: **那么怎么变成判断输入的一个数是不是素数呢??** 总结 ...

  4. java语言 判断素数,C语言实现判断一个数是否为素数并求100以内的所有素数

    判断一个数是否为素数 算法思想 设一个正整数x,sqrt(x)为x开平方后的值,若x不为素数,则x=a*b,a,b为2~x-1之间的整数,且当2=< a <= sqrt(x)时,必有sqr ...

  5. 算法--猫扑素数--java版

    算法–猫扑素数–java版 简介 猫扑素数: 形如以 2 开头, 之后跟任意多个 3 的十进制整数如果是个素数, 则它是猫扑素数. 如 2, 23, 233, 2333, 23333 都是猫扑素数, ...

  6. 算法总结:判断一个数是否为素数

    1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对 象都为整数. x^y表示x的y次方.乘方运算的优先级高于乘除和取模,加减的优先级最低. 见到x^y/z ...

  7. 如何判断一个数是否为素数

    1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对 象都为整数. x^y表示x的y次方.乘方运算的优先级高于乘除和取模,加减的优先级最低. 见到x^y/z ...

  8. (Miller Rabin算法)判断一个数是否为素数

    (Miller Rabin算法)判断一个数是否为素数 1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对象都为整数. x^y表示x的y次方.乘方运算的优先 ...

  9. 判断一个数是否为素数的一个讨论(一)

    1.约定 x%y为x取模y,即x除以y所得的余数,当x x^y表示x的y次方.乘方运算的优先级高于乘除和取模,加减的优先级最低.  见到x^y/z这样,就先算乘方,再算除法. A/B,称为A除以B,也 ...

  10. 编写一个程序判断一个数是否为素数

    题目描述 编写一个程序判断一个数是否为素数 输入 整数N 其中N>=1 输出 1或0(其中1表示此数为素数,0为表示为不是素数) import java.util.Scanner;public ...

最新文章

  1. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
  2. 使用OpenCV进行人脸关键点检测
  3. Python数据结构与算法(第四天)
  4. 在html中如何使用span,如何在HTML和CSS中使用DIV和span?
  5. 常见音视频格式(转载)
  6. VS2010安装MSDN Library
  7. Xcode7 出现-fembed-bitcode错误的解决办法
  8. ASP.NET中定制自己的委托和事件参数类
  9. 经典问题莫比乌斯反演gcd(a,b)==kGuGuFishtion好题
  10. 第十四章_超参数调整
  11. 扒一扒国产 Linux 操作系统架构是怎么设计的 ?
  12. 计算机网络第七版 4-55
  13. 一款开源的微信小程序商城项目,接外包直接拿去改改,就能用。。。
  14. Nginx入门5:搭建静态资源服务器;(入门级演示,没多少内容;)
  15. crypto buuctf 凯撒?替换?呵呵!
  16. 测试双方距离的软件,有没有可以测量距离的app
  17. Android 使用MediaPlayer播放本地raw资源超简单实现点击播放效果
  18. [Excel]Excel函数和用法(4)——查找字符串,SEARCH和FIND函数
  19. SIMetrix教程-001.SIMetrix软件简介与安装
  20. 2021 百度指数采集工具与研究

热门文章

  1. Java加密算法—非对称加密
  2. vivo深度学习AI算法面试
  3. python全栈开发103_python全栈开发day103-python垃圾回收机制、mro和c3算法解析、跨域jsonp\CORS、Content-Type组件...
  4. netstat命令常用参数
  5. EJB 3会话bean与Spring的区别
  6. 测度论与概率论基础学习笔记3——2.1测度的定义与性质
  7. MATLAB函数var、std浅析
  8. chrome 窗体高度_控制Chrome浏览器窗口最小宽度和高度
  9. Python的安装与卸载
  10. 长时长视频java存储及vue播放解决方法