十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
素数又称质数,有无限个。素数定义为在大于1的整数中,除了1和它本身以外不再有其他因数的数称为素数。
为鸡西梨树等地区用户提供了全套网页设计制作服务,及鸡西梨树网站建设行业解决方案。主营业务为网站设计制作、成都网站设计、鸡西梨树网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
java程序找出2-100之间的所有素数,代码如下:
public void findPrimeNumber(){
//存放素数集合
ListInteger lists=new ArrayListInteger();
//遍历2-100
for(int x=2;x100;x++){
//标志是否为素数,默认是true
boolean flag=true;
//循环x除以(x/2)的数,能整除则不是是素数(不包含2)
for(int y=2;yx/2;y++){
if(x%y==0){
//能整除,则把标志设置为false,不是素数
flag=false;
break;
}
}
if(flag){
//flag还是true,则是素数
lists.add(x);
}
}
System.out.println("2-100的素数集合:"+lists);
}
结果:
2-100的素数集合:[2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
如果for循环完成后,j的值大于或等于i,说明i就是素数,所以有这个判断。判断成功后,素数总数加1,输出这个素数。判定为素数的原因就是比i小的数都不能除尽他。
import java.util.*;
class Test {
public static void main(String[] args) {
System.out.println("请输入要进行判断的整数:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.println("您输入的整数是:" + number);
if(isPrimeNumber(number)) {
System.out.println("您输入的数" + number + "是素数。");
} else {
System.out.println("您输入的数" + number + "不是是素数。");
}
}
//判断素数的静态方法
public static boolean isPrimeNumber(int num) {
boolean flag = true;
if(num == 2) {
return flag;
}
for(int i = 1; i Math.sqrt(num); i++) {
if(num % 2 == 0) {
flag = false;
break;
}
}
return flag;
}
}
写了一个,不知道满足你的要求不?
输出前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;
}
}
}