java求素数代码

 我来答
仇孝容丁
2020-02-01 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:854万
展开全部
输出前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;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傅松兰机凰
2019-09-12 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:935万
展开全部
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是素数
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式