用JAVA编写一个求1到N所有素数的程序

2024-11-27 09:35:06
推荐回答(5个)
回答1:

public class ZH
{
public static void main(String args[])
{
int i,j,count=0;
for(i=2;i<1000;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0) break;
}
if(j>i/2)
{
System.out.print(" "+i);
count++;
}
if(count%5==0)
System.out.println();
}
}
}
这是1~1000之间的质数求法,N你看着改变就行了,你看看能不能解决你的问题

回答2:

bauble1213的算法效率高一点

回答3:

输出形式可能与你的要求不一样,自己改改,很简单!!!

public class SuShu {

public static void main(String[] args) {

String ch = null;

try {
BufferedReader br = new BufferedReade(
new InputStreamReader(System.in));
System.out.println("请输入节点数据:");
ch = br.readLine();
} catch (Exception e) {
e.printStackTrace();
}

int num = Integer.paseInt(ch);
for(int i = 0; i int n = i;
int k = (int) Math.sqrt(n);
int i;
for(i = 2; i<=k; i++) {
if(n % i ==0) {
break;
}
}
if(i > k) {
System.out.println(n+"是素数!");
} else {
System.out.println(n+"不是素数!");
}
}
}

}

回答4:

public static void function8(){
System.out.println("请输入范围:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m =0;
for (int i = 2; i int num = 0;
for (int j = 2; j <= i; j++) {
if (i % j == 0) {
num++;
}
}
if (num == 1) {
System.out.print(i + " \t");
m++;
if (m % 5 == 0) {
System.out.println();
}
}
}
}

回答5:

嘻嘻
=====================================
//for循环 打印1~n间的所有质数
import java.util.Scanner;

public class ForExec2是质数{
public static void main(String[] args){
System.out.println("======》打印1~n间的所有质数《======");
System.out.print("请输入一个数字(整数):");
Scanner sc=new Scanner(System.in);//获取文本扫描器
int x = sc.nextInt();//使输入整数保存在x
int[] zhishu = new int[5];
int n=1;
System.out.println("1--"+x+"的质数如下:");
for(int i = 1;i <= x;i++){
//调用isZhiShu(int number)方法,返回true,进行打印操作。
if(isZhiShu(i)){
if(n%5==0){
System.out.println(" ");
System.out.println(i+"\t");
n++;
}else{
System.out.print(i+"\t");
n++;
}
}
}
}

public static boolean isZhiShu(int number){//判断是否是质数的方法
if(number==1){
return false;
}
for(int i = 2;i if(number%i == 0){
return false;
}
}
return true;
}
}
==================================
效果:
===============================

======》打印1~n间的所有质数《======
请输入一个数字(整数):111
1--111的质数如下:
2 3 5 7
11
13 17 19 23
29
31 37 41 43
47
53 59 61 67
71
73 79 83 89
97
101 103 107 109 请按任意键继续. . .

!!!!我屏幕上是5个一行,百度的事