「用JAVA判断素数」java判断素数的算法
今天给各位分享用JAVA判断素数的知识,其中也会对java判断素数的算法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
用java编写一个程序段,输入一个自然数,判断该数是否为素数.
使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:
Scanner sr = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = sr.nextInt();
boolean is = true;
if (a 1)
{
System.out.println(a + "不是质数,因为他小于一");
}
else
{
ListInteger list = new ArrayListInteger();
for (int i = 2; i a; i++)
{
if (a % i != 1 a % i != a)
{
if (a % i == 0){
is=false;
list.add(i);
}
}
}
if(is){
System.out.println("a是质数");
}else{
String yz="";
for (int i = 0; i list.size(); i++)
{
if (yz=="")
{
yz=yz+list.get(i);
}else{
yz=yz+","+list.get(i);
}
}
System.out.println("a不是质数,因为他含有因子"+yz);
}
}
在java中如何判断一个数是不是素数
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
System.out.println("请输入一个正整数:");
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
System.out.println("是否是素数:" + isPrime(number));
scanner.close();
}
static boolean isPrime(int number) {
if (number = 1) {
return false;
}
for (int i = 2; i = Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
java怎么判断素数
1、目前使用较有效的方法是试除法。用试除法判断一个自然数a是不是素数时,用各个素数从小到大依次去除a,如果到某一个素数正好整除,这个a就可以断定不是素数;如果不能整除,当不完全商又小于这个素数时,就不必再继续试除,可以断定a必然是素数。
2、素数又称质数。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
3、素数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。目前为止,人们未找到一个公式可求出所有素数,所以还没有固定的判断公式。
4、一般记住100以内的素数就可以了。有2、3、5、7、11、13、19、17、23、29、37、31、41、47、43、53、59、61、71、67、73、83、89、79、97,一共25个。
java素数的判断
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class T2 {
public static void main(String[] args) {
new T2().judge1();
new T2().judge2();
}
public void judge1(){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("请输入一个数字");
String str = br.readLine();
int a = Integer.parseInt(str);
if(isPrimes(a)){
System.out.println(a+" 是素数");
}else{
System.out.println(a+" 不是素数");
}
}catch(NumberFormatException e){
System.out.println("只能是数字");
judge1();
}catch (IOException e) {
System.out.println("读取出错了");
}
}
private void judge2() {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("请输入两个数用,号隔开(一个范围)");
String str = br.readLine();
String [] s = str.split(",");
int a = Integer.parseInt(s[0]);
int b = Integer.parseInt(s[1]);
isPrimes2(a, b);
}catch(NumberFormatException e){
System.out.println("格式不正确");
judge2();
}catch (IOException e) {
System.out.println("读取出错了");
}
}
private void isPrimes2(int a, int b) {
System.out.println(a+"-"+b+"范围的素数有:");
for(int i=a;i=b;i++){
if(isPrimes(i)){
System.out.print(i+",");
}
}
}
public static boolean isPrimes(int n) {
for (int i = 2; i = Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
用JAVA判断素数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java判断素数的算法、用JAVA判断素数的信息别忘了在本站进行查找喔。
发布于:2022-12-03,除非注明,否则均为
原创文章,转载请注明出处。