用JAVA编写一个判断素数的程序?
import java.util.*;
class Test {
public static void main(String[] args) {
System.out.println("请输入要进行判断的整数:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.println("您输入的整数是:" + number);
if(isPrimeNumber(number)) {
System.out.println("您输入的数" + number + "是素数。");
} else {
System.out.println("您输入的数" + number + "不是是素数。");
}
}
//判断素数的静态方法
public static boolean isPrimeNumber(int num) {
boolean flag = true;
if(num == 2) {
return flag;
}
for(int i = 1; i < Math.sqrt(num); i++) {
if(num % 2 == 0) {
flag = false;
break;
}
}
return flag;
}
}
用java输出100以内所有的素数(PrimeNumber)?
质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。下面是一个java求100之内的素数简单示例。
代码示例如下:
public class test {
public static void main(String[] args) {
int i,n,k=0;
for (n = 3; n<=100; n++) { //3~100的所有数
i=2;
while (i<n) {
if (n%i==0) break; //若能整除说明n不是素数,跳出当前循环
i++;
}
if (i==n) { //如果i==n则说明n不能被2~n-1整除,是素数
k++; //统计输出数的个数
System.out.print(i+ "\t ");
if (k %6==0) //每输出5个则换行
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 { List<Integer> list = new ArrayList<Integer>(); 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); } }
还没有评论,来说两句吧...