用java的 main函数写个1到100所有素数的和

谁能帮我 用java的 main函数写个1到100所有素数(质数)的和的代码

*auther starshus
*
*Date 04/11/20
*/
//6.7.4
public class Prime
{
private static final int MAX=100;
public static void init(int[] num)//定义数组,里面装从1到100
{
int i=0;
for(;i<MAX;i++)
{
num[i]=i+1;
}
}
public static int count(int[] num)//在程序运行后,计算素数个数
{
int n=0,i=0;
for(;i<MAX;i++)
{
if(num[i]!=0)//非素数将被置零
n++;
}
return n;
}
public static void printf(int[] num)//输出所有素数,每10个转行一次
{
int i=0,n=0;
for(;i<MAX;i++)
if(num[i]!=0)
{
System.out.print(num[i]+" ");
n++;
if(n%10==0)
System.out.println();
}
}
public static void main(String[] args)//主方法
{
int i=2,j=1;
int count;
int[] numbers = new int[MAX];
init(numbers);
while (j<MAX)
{
if(numbers[j]!=0)
while (i<MAX)
{
if(numbers[i]!=0)
{
if(numbers[i]%numbers[j]==0)
numbers[i]=0;//假如不是素数,置零
}
i++;
}
j++;
i=j+1;
}
count=count(numbers);
printf(numbers);
System.out.println();
System.out.println("ok,we found "+count+"primes in "+MAX+" numbers.");
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-29
public class arrsort
{
public static void main(String args[])
{
int i,j;
for(j=2;j<=100;j++)
{
for(i=2;i<=j/2;i++)
{
if(j%i==0)
break;
}
if(i>j/2)
{
System.out.println(j);
}
}
}
}本回答被网友采纳
相似回答