求素数的二种不同的方法
来源:互联网 发布:java 语法 编辑:程序博客网 时间:2024/06/05 21:46
素数就是只能被1和它本身整除的数.
但是在java中怎么用代码来实现呢
下面以求出1-100之间所有的素数为例来
介绍这二种方法:
方法一(个人推荐使用这种方法,很好理解):
public static void main(String[] args) {
System.out.println(2);// 2也是素数
boolean b = true;
for (int i = 3; i < 100; i+=2) {
b = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
b = false;
break;
}
}
if (b) {
System.out.println(i);
}
}
分析:因为可以肯定的是除2以外的偶数都不会是素数
所以先打印2,然后把3开始环循,并且步长为2(i+=2);
再之, 遍历2-它本身之前的那个数
如果有一个整除了,就说明不是素数,判断型变量赋值为false
方法二:
public class Sushu {
public static void main(String []args){
final int max=100;
System.out.print("2"+" ");
int k=3;
do {
int j=(int)Math.sqrt(k);
if(j%2==0)
j--;
boolean yes =true;
while(j>2&&yes)
if(k%j==0)
yes =false;
else
j-=2;
if (yes){
System.out.print(k+" ");
}
k+=2;
}while (k<=max);
}
}
介绍:这是一同学写的,我也没有弄懂..但是功能实现了,仅供参考!
- 求素数的二种不同的方法
- 求素数的方法
- 求素数的方法
- C语言求素数的不同解法
- 求素数的几种方法
- 求素数的几种高效方法
- 求素数的几种方法
- 求素数的几种方法
- 【求素数的三种方法】
- 求素数的几种方法
- 求素数的几种方法
- 求素数的两种方法
- 求素数的几种高效方法
- 求素数的方法(转)
- 浅谈求素数的方法
- 求素数的几个方法
- 关于java实现的求素数的几种方法
- 求100~200之间的素数的2种方法
- httpunit资源
- 巨人回来了!
- 网页特效
- Dependency Property
- 史玉柱的“吞钱”神话1
- 求素数的二种不同的方法
- 支付宝接口(刚完成,应该是目前最好的了)
- 史玉柱的“圈钱”神话2
- 关于结构体,联合体及内存大小的问题
- c++正则表达式,python
- 史玉柱的“圈钱”神话3
- 不是做不到,而是做不做
- Silverlight 1.1安装/开发常见问题解疑
- 解决SQLServer Unsupported method: ResultSet.last的问题