网站建设资讯

NEWS

网站建设资讯

java素数代码 java求素数

用java求100以内的全部素数

这个的主要点是嵌套的循环,要注意循环要遍及数据的循环、逻辑判断,素数就是表示除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);

}

}

}

}

java代码实现101-200的素数

/**

*

需求:

求101-200之内的素数?

*/

public

class

demo3

{

public

static

void

main(string[]

args)

{

//

内循环判断是否为素数,外循环控制打印

int

num,

i;

int

count

=

0,

sum

=

0;

for

(num

=

101;

num

=

200;

num++)

{

for

(i

=

2;

i

num;

i++)

{

if

(num

%

i

==

0)

{

break;

}

}

if

(num

==

i)

{

sum

+=

num;

count++;

system.out.print(num

+

"\t");

if

(count

%

5

==

0)

{

system.out.println();

}

}

}

system.out.println();

system.out.println("101到200之间所有素数的和为"

+

sum);

}

}

利用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编写的1到100内的素数,并且每行输出5个素数

public class Test {

public static void main(String[] args) {

int i, count = 0;

for(i=2; i=100; i++){

if(isPrimeNumber(i) == true){

count++;

System.out.printf("%6d", i);

if(count%5 == 0){

System.out.println();

}

}

}

//判断一个数是否是素数,若是,返回true,否则返回false

public static boolean isPrimeNumber(int num){

int k = (int) Math.sqrt(num);

if(num == 2){

return true;

for(int i=2; i=k; i++)

if(num%i == 0)

return false;

return true;

}

}

扩展:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,

是素数或者不是素数。

如果

为素数,则

要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。

编写java程序找出2-100之间的所有素数 求大神

编写java程序找出2-100之间的所有素数 求大神 素数又称质数,有无限个。素数定义为在大于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]

求1到100之间的所有素数。求程序

#includestdio.h int isprime(int n){ int i; if(n=1)return 0; for(i=2;i=n/2;i++){ if(n%i==0)return 0; } return 1; } main() { int i; for(i=1;i=100;i++) { if(isprime(i)) printf("%d \n",i); } }

编一个程序题:100~500之间的所有素数,

给你搞来一份C的,但是是求和的,如果你是学C的,应该会改吧

#include "stdio.h"

void main()

{

int i,temp,j;

long sum=0;

for(i=100;i500;i++)

{

temp=0;

for(j=2;ji;j++)

if(i%j==0)

temp++;

if(temp==0)

sum+=i;

}

printf("%ld",sum);

}

下面的是pascal的

var

i,j:longint;

b:boolean;

begin

for i:=100 to 500 do

begin

for j:=2 to trunc(sqrt(i)) do

begin

b:=true;

if i mod j=0

then begin

b:=false;

break;

end;

end;

if b then writeln(i);

end;

end.

找出100到200之间的所有素数并求和

#include stdio.h#include math.hint primer(int min, int max){ int j,k,i; int sum = 0; for(i = min + 1;i = max; i += 2) { k = sqrt(i); for(j = 2;j = k;j++) { if(i % j ==0)break; } if(j = k + 1) { printf("%d ",i); sum += i; } } return sum;}int main(){ int min = 100, max = 200; int sum = 0; sum = primer(min, max); printf("sum:%d\n", sum); return 0;}

vb 编写程序求出100-200间的所有素数

Sub test()

Dim i As Integer

Dim j As Integer

Dim m As Boolean

For i = 100 To 200

m = True

For j = 2 To i ^ 0.5

If i Mod j = 0 Then

m = False

Exit For

End If

Next j

If m Then Print i

Next i

End Sub

vb编写程序找出3~100间所有素数并输出窗体

Private Sub form_click()

Dim N As Integer

Dim I As Integer

Dim J As Integer

Dim S As Boolean

N = 0

For I = 3 To 100

S = True

For J = 2 To Sqr(I)

If I Mod J = 0 Then

S = False

Exit For

End If

Next

If S Then

Print Format(I, " 0# ");

N = N + 1

If N Mod 10 = 0 Then Print

End If

Next

Print

Print "从3-100之间共有以上"; N; "个素数"

End Sub

C#编写程序,找出1---100之间的所有质数

Listint list1 = new Listint();

list1.Add(2);2是质数,先加它

bool b;

for (int i = 3; i 100; i += 2)偶数的不用比较了

{

b = true;

for (int j = i - 1; j 1; j--)

{

if (i % j == 0)

{

b = false;

break;有一个能整除的就不再试其它了

}

}

if (b) list1.Add(i);是质数则添加到列表中

}

这样,list1中的所有数就是你想要的数了

编写VB程序,将500到1000之间的所有素数输出到列表框

private sub mand1_click()

for i = 500 to 1000

for j = 2 to fix(sqr(i))

if i mod j = 0 then

exit for

elseif i mod j 0 and j = fix(sqr(i)) then

list1.additem i

end if

next

next

end sub

编程:输出3 ~ 100之间的所有素数?

int i;

for(i=2;in/2+1;i++)

{

if(n%i==0)

return false;

}

return true;

}

main()

{

int i,count=0;

for(i=100;i=300;i++)

{

if(IsPrime(i))

{

couti;

count++;

if(count%5==0)

cout"\n";

else

cout" ";

}

}

}

编写一个java程序,用穷举法找出2~50之间的素数,并打印出来.

public static void main(String[] args) {

int i, k;

boolean yes;

for (k = 2; k = 50; k++) {

yes = true;

i = 2;

while (i = k - 1 yes) {

if (k % i == 0)

yes = false;

i++;

}

if (yes)

System.out.print(k + " ");

}

}


分享标题:java素数代码 java求素数
分享链接:http://cdweb.net/article/hjeigp.html