东海麒麟文化:java中打印前100个质数怎么写?

来源:百度文库 编辑:高校问答 时间:2024/05/13 02:48:55
是前100个质数!
loveangelboy - 秀才 二级
能简单点吗?看不太懂,我水平很菜.
回答者:我心无殇 - 见习魔法师 三级 4你写的是100以内的质数,和题目不符
回答者:AthenaLover - 举人 四级 你的更复杂啊!不过能运行,能不能写简单点,好懂点的

已经很简单了啊~~~~
判断素数的方法:用一个数分别去除2到sqrt(这个数)[就是开方咯],如果能被整除,则表明此数不是素数,反之是素数。

把原来的c改成java,虽然花点时间,自己也学点东西~~~
public class sushu{
public static void main(String[] args){
sushu a = new sushu();
a.sushu();
}

void sushu(){
int count = 0;
int fg = 1;
System.out.println("前100个素数:");
for(int x = 2; count < 100; x++){
double k = java.lang.Math.sqrt(x+1);
for(int i =2; i<=k; i++){
if((x%i)==0) {fg = 0;break;}
}
if(fg == 1){
System.out.println(x);
count++;
}
fg = 1;
}
}

试试我这个~~~~~~~~~~~~~~~
public class zz
{
public static void main (String args[])
{
int count=0;
System.out.print("1"+"\t"+"2"+"\t"+"3"+"\t");
for(int i=5;i<=1000;i++)
{
if(prime(i)==1)
{
count++;
System.out.print(i+"\t");
}
if(count==97)
break;
}
}
public static int prime(int a)
{ int c=0;
for(int i=2;i<=(a/2);i++)
{
if(a%i==0)
break;
else if(a%i!=0&&i==(a/2))
c=1;
}
return c;
}
}

public class ss
{
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);
}
}
}
}

设个count,输出一个质数就count++;count到100时退出循环

........................................

其实就是C啊.