java输出2—50所有的素数

怎样用java输出2到50的所有素数
2025-04-24 00:39:02
推荐回答(4个)
回答1:

public
class
PrimeNumber
{
public
static
void
main(String[]
args)
throws
IOException
{
System.out.print(primeNumber(50));
}
public
static
List
primeNumber(int
num)
{
List
list
=
new
ArrayList();//
存放素数
for
(int
i
=
1;
i
<=
num;
i++)
{
if
(i
!=
1)
{//1不是素数
if
(list.size()
!=
0)
{
boolean
havePn
=
false;//标志;是否存在一个除数使该被除数被整除
for
(Integer
m
:
list)
{
if
(i
%
m
==
0)
{
havePn
=
true;//存在
}
}
if
(!havePn)
{//若不存在,该数是素数
list.add(i);
}
}
else
{
list.add(i);
}
}
}
return
list;
}
}
结果如下:
[2,
3,
5,
7,
11,
13,
17,
19,
23,
29,
31,
37,
41,
43,
47]

回答2:

class sushu{
public static void main(String args[]){
int i;
int j;
for(j=2;j<=50;j++){
for(i=2;i<=j/2;i++){
if(j%i==0)
break;
}
if(i>j/2){
System.out.println(""+j+"是素数");
}
}
}
}

回答3:

public class PrimeNumber {
public static void main(String[] args) throws IOException {
System.out.print(primeNumber(50));
}

public static List primeNumber(int num) {
List list = new ArrayList();// 存放素数
for (int i = 1; i <= num; i++) {
if (i != 1) {//1不是素数
if (list.size() != 0) {
boolean havePn = false;//标志;是否存在一个除数使该被除数被整除
for (Integer m : list) {
if (i % m == 0) {
havePn = true;//存在
}
}
if (!havePn) {//若不存在,该数是素数
list.add(i);
}
} else {
list.add(i);
}
}
}
return list;
}
}
结果如下:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

回答4:

package com.inster;

/*
* 【程序27】
题目:求100之内的素数
* */
public class PrimeNumber {
public static void getPrimeNumber() {
boolean flag = false;
for (int i = 3; i < 50; i += 2) {
for (int j = 2; j < Math.sqrt(i); j++) { //从2开始循环到此数的平方根处
if (i % j != 0) { //如果相模等于0说明能够整除
flag = true;
} else {
flag = false; //不能整除则最外层循环进1
break;
}
}
if (flag) {
System.out.println(i);
}
}

}

public static void main(String[] args) {
getPrimeNumber();
}
}