十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
判断素数方法,你供参考,代码如下:
创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以网站设计制作、成都网站制作、移动互联产品、网络营销推广服务为核心业务。10年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。
public class SuNum {
public static void main(String[] args) {
if(getResult(4)){
System.out.println("素数");
}else{
System.out.println("非素数");
}
}
public static boolean getResult(int num) {
boolean isPrime = true; // 定义布尔变量判断是否素数.是:true;否:false
int k = (int) Math.sqrt(num);
for (int j = 2; j = k; j++) {
if (num % j == 0) {
isPrime = false; // 如果能够有数整除num,那么就不是素数.
}
}
if (isPrime) {
isPrime = true;
}
return isPrime;
}
}
满意请采纳!
输出前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;
}
}
}
这个的主要点是嵌套的循环,要注意循环要遍及数据的循环、逻辑判断,素数就是表示除1及其本身外不能被其他比他小的整数整除,掌握这点就可以理解了,下面代码仅供参考:
//实现求1-100之间的所有素数
public class Test
{
public static void main(String[] args)
{
//使用外层循环来控制1-100的数据的遍历
for(int i = 1 ; i = 100 ; i++){
//素数就是除1及其本身外不能被其他整数整除
int j = 2;
while(i j){
//如果可以被小于他的数据整除,表示该数不是素数,跳出循环
if(i % j == 0){
break;
}
j++;
}
//如果没有找到比其小的数据可以整除,则表示该数是素数
if(i == j){
System.out.println(i);
}
}
}
}