62,614
社区成员
发帖
与我相关
我的任务
分享
import java.util.Scanner;
public class PrimeNumberFinder {
public static void main(String [] args){
System.out.println("entry the range of prime number form 1 to ?");
Scanner in=new Scanner(System.in);
int n=in.nextInt();
boolean primeNum[] = new boolean [n+1];
for(int i=2;i<=n;i++)
primeNum[i]=true;
int cout=(int) Math.sqrt(n);
for(int i=2;i<cout;i++){
int j=i;
if(primeNum[j]==true)
do{
j+=i;
if(j<=n)
primeNum[j]=false;
}while(j<n);
}
for(int i=2;i<=n;i++)
if(primeNum[i]==true)
System.out.print(i+" ");
}
}
补充:
1.题主可以参考一下这篇文章求质数算法的N种境界
2.太久没有写java了,所以代码有点丑,请不要介意
3.这个问题还是比较容易的,如果可能的话还是请自己线动一下笔
并祝好
R
public class Test {
private static int length = 29;
public static void main(String[] args) {
int[] array = new int[length];
for(int i=0;i<length;i++){
array[i] = i+2;
}
int index = 0;
while(index != length-1){
for(int i=index;i<length-1;i++){
if(0 == (array[i+1]%array[index])){
int temp=i+1;
while(temp<length-1){
array[temp]=array[temp+1];
temp++;
}
length--;
}
}
index++;
}
for(int i=0;i<length;i++){
System.out.print(array[i]+",");
}
System.out.println();
}
}