本文目录一览:
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.util.Scanner;
//质数又称素数,是指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数
public class PrimeNumber {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 扫描器,接收控制台输入信息
System.out.print("请输入一个整数:");
try {
int num = scan.nextInt();// 取出控制台输入的信息
if (isPrime(num)) {// 调用isPrime()方法
System.out.println(num + "是素数!");// 若isPrime()方法返回true,输出是素数
} else {
System.out.println(num + "不是素数!");// 若isPrime()方法返回false,输出不是素数
}
} catch (Exception e) {
System.out.println("请输入整数");// 捕捉异常,若输入的不是整数,输出异常
}
}
/**
* pre
* 用于判断一个数是否为素数,若为素数,返回true,否则返回false
* /pre
*
* @param a
* 输入的值
* @return true、false
*/
public static boolean isPrime(int a) {
boolean flag = true;
if (a 2) {// 素数不小于2
return false;
} else {
for (int i = 2; i = Math.sqrt(a); i++) {
if (a % i == 0) {// 若能被整除,则说明不是素数,返回false
flag = false;
break;// 跳出循环
}
}
}
return flag;
}
}
Java中 什么是素数?什么条件?
素数是指不能被除了一和自身整除的数,所以判断num是不是素数只有从二开始一直除到num/2,都不能整除就返回true,表示是素数,否则返回false,表示不是素数。