public class HelloWorld {
息县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
public static void main(String[] args) {
System.out.println("请输入一个正整数n");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for (int i = 2; i = n; i++) // 1不是素数,所以直接从2开始循环
{
int j = 2;
while (i % j != 0) {
j++; // 测试2至i的数字是否能被i整除,如不能就自加
}
if (j == i)
//当有被整除的数字时,判断它是不是自身,若是,则说明是素数
{
System.out.println(i); // 如果是就打印出数字
}
}
}
}
素数又称质数,有无限个。素数定义为在大于1的整数中,除了1和它本身以外不再有其他因数的数称为素数。
java程序找出2-100之间的所有素数,代码如下:
public void findPrimeNumber(){
//存放素数集合
ListInteger lists=new ArrayListInteger();
//遍历2-100
for(int x=2;x100;x++){
//标志是否为素数,默认是true
boolean flag=true;
//循环x除以(x/2)的数,能整除则不是是素数(不包含2)
for(int y=2;yx/2;y++){
if(x%y==0){
//能整除,则把标志设置为false,不是素数
flag=false;
break;
}
}
if(flag){
//flag还是true,则是素数
lists.add(x);
}
}
System.out.println("2-100的素数集合:"+lists);
}
结果:
2-100的素数集合:[2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
质数又称素数。一个大于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 (in) {
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();
}
}
}
}
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;
}
}
写了一个,不知道满足你的要求不?
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;
}
}
这个的主要点是嵌套的循环,要注意循环要遍及数据的循环、逻辑判断,素数就是表示除1及其本身外不能被其他比他小的整数整除,掌握这点就可以理解了,下面代码仅供参考:
//实现求1-100之间的所有素数
public class Test
{
public static void main(String[] args)
{
//使用外层循环来控制1-100的数据的遍历
for(int i = 1 ; i = 100 ; i++){
//素数就是除1及其本身外不能被其他整数整除
int j = 2;
while(i j){
//如果可以被小于他的数据整除,表示该数不是素数,跳出循环
if(i % j == 0){
break;
}
j++;
}
//如果没有找到比其小的数据可以整除,则表示该数是素数
if(i == j){
System.out.println(i);
}
}
}
}