java求素数代码
展开全部
输出前500个素数
其中
for
(int
i
=
2;
i
<=
math.sqrt(k);
i++)
从2开始,1不用比较,如果还有另外一个不是他本身的数可以整除他,那他就不是素数
math.sqrt(k)
是原先一个人提出的算法,加大效率的,你可以测试看看
已经按照你的要求用到了while和if
else
下面的朋友···别人说要用什么写就用什么写···有时候按要求去就好了
class
a
{
public
static
void
main(string
arg[])
{
int
num
=
0;
int
k=2;
while
(num
<
500)
{
if
(isprime(k))
{
system.out.print(k
+
"
");
num++;
}
k++;
}
}
public
static
boolean
isprime(int
k)
{
if
(k
==
2)
return
true;
else
if
(k
%
2
==
0)
return
false;
else
{
for
(int
i
=
2;
i
<=
math.sqrt(k);
i++)
if
(k
%
i
==
0)
return
false;
return
true;
}
}
}
其中
for
(int
i
=
2;
i
<=
math.sqrt(k);
i++)
从2开始,1不用比较,如果还有另外一个不是他本身的数可以整除他,那他就不是素数
math.sqrt(k)
是原先一个人提出的算法,加大效率的,你可以测试看看
已经按照你的要求用到了while和if
else
下面的朋友···别人说要用什么写就用什么写···有时候按要求去就好了
class
a
{
public
static
void
main(string
arg[])
{
int
num
=
0;
int
k=2;
while
(num
<
500)
{
if
(isprime(k))
{
system.out.print(k
+
"
");
num++;
}
k++;
}
}
public
static
boolean
isprime(int
k)
{
if
(k
==
2)
return
true;
else
if
(k
%
2
==
0)
return
false;
else
{
for
(int
i
=
2;
i
<=
math.sqrt(k);
i++)
if
(k
%
i
==
0)
return
false;
return
true;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public
class
test
{
public
static
void
main(String
ags[])
{
for(int
i
=
1;
i
<=
100;
++i)
//
测试输出1~copy100之间的素数
if(isPrime(i))
System.out.print(i
+
"
");
}
static
boolean
isPrime(int
n)
//
检测数n是否是素数的函数知
{
int
i;
if(n
<
2)
return
false;
//
排除0,1
for(i
=
(int)Math.sqrt(n);
i
>=
2;
--i)
if(n
%
i
==
0)
break;
return
i
==
1;
//
如果除1和n本身以外没有其他道因子,那么n是素数
}
}
class
test
{
public
static
void
main(String
ags[])
{
for(int
i
=
1;
i
<=
100;
++i)
//
测试输出1~copy100之间的素数
if(isPrime(i))
System.out.print(i
+
"
");
}
static
boolean
isPrime(int
n)
//
检测数n是否是素数的函数知
{
int
i;
if(n
<
2)
return
false;
//
排除0,1
for(i
=
(int)Math.sqrt(n);
i
>=
2;
--i)
if(n
%
i
==
0)
break;
return
i
==
1;
//
如果除1和n本身以外没有其他道因子,那么n是素数
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询