30分在线等使用java编写输出1-100之间的素数!

2024-11-17 06:19:49
推荐回答(4个)
回答(1):

import java.util.*;
public class Test{
static void prime(int a){ //判断函数,从2开始判断到该数的一半。如果有能整除的,就不是素数,否则就是素数
int k=a/2; // 该数的一半
int i = 2; //从2开始
boolean isPrime = true;//素数标记
for(;i<=k;i++){//判断是否素数
if(a%i==0)
isPrime = false; //不是素数
}
if(isPrime) //输出
System.out.println(a + " is prime");
else
System.out.println(a + " is not prime");

}
public static void main(String[] args){
System.out.println("please input a int from 1 to 100");
Scanner in = new Scanner(System.in);
prime(in.nextInt());
//其实2的31次方-1的范围内都能算
//prime(5); //测试用;
//prime(231);
}
}

上面是用户输入数字

下面这个是输出1到100的素数
import java.util.*;
public class Test{
static void prime(int a){ //判断函数,从2开始判断到该数的一半。如果有能整除的,就不是素数,否则就是素数
int k=a/2; // 该数的一半
int i = 2; //从2开始
boolean isPrime = true;//素数标记
for(;i<=k;i++){//判断是否素数
if(a%i==0)
isPrime = false; //不是素数
}
if(isPrime) //输出
System.out.println(a + " is prime");
//else
//System.out.println(a + " is not prime");

}
public static void main(String[] args){
//System.out.println("please input a int from 1 to 100");
//Scanner in = new Scanner(System.in);
//prime(in.nextInt());
//其实2的31次方-1的范围内都能算
for(int i=1;i<=100; ++i){
prime(i);
}
}
}

回答(2):

public class Test{
public static void main(String[] args){
//a将要储存质数
int[] a = new int[99];
//number是现在已经储存了几个质数
int number = 0;
//讲所有a里面的数字变成2
for(int i = 0; i < 99; i++)
a[i] = 2;
//测试每1个2-100里面的数
for(int i = 2; i < 100; i++){
boolean k = true;
//测试这个数是否可以被之前已经认定的质数整除 如果可是择不是1个质数
for (int j = 0; j < number && k; j++)
if (i%a[j] == 0)
k = false;
//如果是1个质数 将被存入a里 并且munber 加一
if (k){
a[number] = i;
number ++;
}
}
//把所有质数打印出来
for(int i = 0; i < number; i++)
System.out.println(a[i]);
}
}

回答(3):

public class sushu
{
public static void main(String[] args)
{
System.out.print("100以内的素数是:");
for(int i=2;i<101;i++)
{
int y=2;
for(;y if(i%y==0)
{
break;
}
if(i==y)
System.out.print(i);
System.out.print(" ");

}
}
}

回答(4):

JLU小米 你够狠 一次写这么多 懒得抢分了