重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

JAVA多线程求素数代码 java多线程代码题

java求素数代码

输出前500个素数

10年积累的网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有靖宇免费网站建设让你可以放心的选择与我们合作。

其中

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;

}

}

}

利用Java编写应用程序求100以内的全部素数?

质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。下面是一个java求100之内的素数简单示例。

public class test {

public static void main(String[] args) {

int i,n,k=0;

for (n = 3; n=100; n++) {     //3~100的所有数

i=2;

while (in) {

if (n%i==0)  break;  //若能整除说明n不是素数,跳出当前循环

i++;

}

if (i==n) {     //如果i==n则说明n不能被2~n-1整除,是素数

k++;             //统计输出数的个数

System.out.print(i+ "\t ");

if (k %6==0)    //每输出5个则换行

System.out.println();

}

}

}

}

java编写求素数的方法,主方法中输入输出。 麻烦给个程序!!!!!

一般的求素数算法:

1234567891011121314151617181920212223242526

publicclassPrime

{

/*

*

* 一般求素数方法

*

* @param args

*/

publicstaticvoidmain(String[]args){for(inti=2; i100; i++)

{intj;for(j=2; j(int)(Math.sqrt(i)+1); j++)

{if(i%j==0){break;}} if(j(int)Math.sqrt(i)){System.out.print(i+" ");}} } }

筛法求素数:

12345678910111213141516171819202122232425262728293031

publicclassPrime2

{

/*

*

* 筛法求素数

*

* @param args

*/publicstaticvoidmain(String[]args)

{// TODO Auto-generated method stubintn=100;int[]array=newint[n];for(inti=2; i{if(array[i]!=0)

{intj, temp;}}}


本文标题:JAVA多线程求素数代码 java多线程代码题
分享链接:http://cqcxhl.cn/article/doseisi.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP