「判定素数java」判定素数为什么可以直接用√n
本篇文章给大家谈谈判定素数java,以及判定素数为什么可以直接用√n对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
用 java 怎么判断一个数是否为质数?
质数:
public static boolean isPrime(int N){if( N 2 ) return false;
for( int i = 2 ; i*i = N; i++){if( N % i == 0) return false;return true;}
JAVA 编程方法:
public static void main(String[] args) {// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);for(int i=0;i100;i++){
System.out.print("请输入数字:");int num1 = input.nextInt();if(num1==2||num1==3){
System.out.println(num1+"是质数");}else if(num1%2!=0(num1+1)%2==0){
System.out.println(num1+"是质数");}else{System.out.println(num1+"不是质数");
java 判断是不是素数
判断number是否是素数有这么几种方法:
(1)用2至number-1之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。
(2)用2至number/2之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。
(3)用2至number的平方根之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。
这3种的方法的效率是逐渐提高的。下面列出了第3种方法的实现:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
int number; // 输入的数字
Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
number = input.nextInt(); // 输入数字
if(isPrimeNumber(number)){
System.out.println(number + "是一个素数");
}
else{
System.out.println(number + "是一个非素数");
}
}
public static boolean isPrimeNumber(int num){
if(num 2){
System.out.println("数据错误");
return false;
}
int k = (int)Math.sqrt(num); //num的平方根
int i;
for(i=2; i=k; i++){ //依次用2..k之间的数去整除num,如果没有一个数能被整除,说明num是素数
if(num % i == 0){
break;
}
}
if(i k){
return true;
}
return false;
}
}
如果对你的程序进行修改,也可这样:
public static void main(String[] args) {
int number;// 输入的数字
int j = 2;
Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
number = input.nextInt();// 输入数字
for(j=2;jnumber;j++){
if(number%j == 0) {
System.out.println("这不素数");
break;
}
}
if(j=number)
System.out.println("这是素数");
}
用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 输入一个数判断其是否是素数
public class panduansushu {
public static void main(String args[]) {
int x, y, j;
Scanner i = new Scanner(System.in);
System.out.print("请输入一个数:");
y = i.nextInt();
j = (int) y / 2;
for (x = 2; x = j; x++) {
if (y % x == 0) {
System.out.println("此数不为素数");
break;
}
}
if (x j) {
System.out.println("此数为素数");
}
}
}
关于判定素数java和判定素数为什么可以直接用√n的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。