wangflood

精心维护一个技术blog,为了工作,也是爱好。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  14 Posts :: 19 Stories :: 8 Comments :: 0 Trackbacks
早上,在google reader rss上,看关于ItEye的一个HR的帖子:求100内的质数。很简单的一道题,大家都在做。

public class TestPrime {

    
public static void main(String[] args) {

        
// test(1000);
        test2(100);
    }

    
private static void test(int i) {
        
boolean isPrime = true;// 默认是质数
        if (i < 2) {
            System.out.println(
"求质数范围过小。。。。。。");
            
return;
        }
        System.out.print(
"2 ,");
        
for (int j = 3; j <= i; j++) {
            isPrime 
= true;
            
            
if (j % 2 == 1) {
                
// 如果是大于2的奇数
                for (int k = 3; k * k < j; k++) {
                    
if (j % k == 0) {
                        isPrime 
= false;
                        
break;
                    }
                }
                
if (isPrime) {
                    System.out.print(j 
+ " ,");
                }
            }
        }
    }

    
/**
     * 这个是python代码改写过来的。
     
*/
    
private static void test2(int i) {

        
for (int j = 2; j <= i; j++) {
            
int k = 2;
            
boolean isPrime = true;
            
while (k * k < j) {
                
// can be devided by k,so begin with 2
                if (j % k == 0) {
                    isPrime 
= false;
                    
break;
                } 
else {
                    k
++;
                }

            }
            
if (isPrime)
                System.out.print(j 
+ " ,");
        }
    }

}
posted on 2011-04-11 12:25 wangflood 阅读(142) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: