首页 > 编程知识 正文

素数java程序,java素数怎么求

时间:2023-05-03 17:23:29 阅读:61924 作者:661

本笔记介绍Java实现求内素数(素数)问题的快速算法。

一、质数是什么?

定义:素数又称素数。 是大于1的自然数,除了1和本身以外,不能被其他自然数整除的数称为质数,否则称为合数。 有无限的数量。

二、Java演习问题:输出1-1000以内的所有素数

这个问题有几种解决方法:

第一个想法:

1、外层循环为被除数,内层循环为除数。

2、定义标记外层循环数是否为素数的布尔。 默认值为true。

3、内层循环结束,开关仍为真时。 也就是说被除数是素数,被打印出来。

代码如下。

类linuxidc {

publicstaticvoidmain (string args [ ] ) {

//1不是素数,也不是和数,而是使用I从2开始。

for(intI=2; i=1000; I ) {

布尔标志=真;

for(intj=2; j i; j ) {

if(I%j==0) {

flag=false;

布雷克; 达到1000内的素数后,从循环中跳出,输出结果。

}

}

if (标志) {

system.out.print(''I;

}

}

}

}

执行效果如下。

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 43 1 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 66 1 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991

第二种想法:

1、这个程序使用了两层循环。 外层循环将2到100之间的每个整数枚举为被除数,并在内层循环中用2到100之间的数字将其去除。 如果找到能被整除的数,内层环就会飞出。 如果找不到可以被一张整除的数,则在尝试了从2到直接按下内环的所有数后,内环也会弹出。

2、等待内层循环弹出后,程序接着判断j是否大于或等于I,上述情况表示该数为素数,并打印该数。

类linuxidc {

publicstaticvoidmain (string args [ ] ) {

int i,j;

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

for(j=2; j i; j ) {

if(I%j==0) ) ) ) ) ) ) )。

布雷克;

}

if(j=I ) {

system.out.print(''I;

}

}

}

}

运行效果如下

二、Java演习问题:0-100的素数和

代码如下。

类linuxidc {

publicstaticvoidmain (string args [ ] ) {

int sum=0;

int j=2;

找到1-100的素数之和

for(intI=2; i=100; I ()/I值为2,素数为除去1,被自己除尽的数j的初始值为2除去偶数

for(j=2; j i; j ()//内层循环扫描查询I的整除数

if(I%j==0) ) /判断当前I是否能被k值整除

布雷克; //整除后退出循环

}

}

//如果当前的内环没有正常结束,j和I的对比就不能成立

if(j=I ) {

sum =i; //累计素数和

system.out.println(I; //得出素数

}

}

system.out.println(sum; //输出素数之和

}

}

效果如下。

linuxidc @ linuxidc ://linuxidc.com $ javac linuxidc.Java

linuxidc @ linuxidc :~~/linuxidc.com $ Java linuxidc

2

3

5

7

11

13

17

19

23

29

31

37

41

43

47

53

59

61

67

71

73

79

83

89

97

1060

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。