日期:2014-05-20  浏览次数:20682 次

判断101-200之间有多少个素数,并输出所有素数。
本人菜鸟
求高手指教

------解决方案--------------------
//从2到sqrt(n)分别去除n,不能整除的就是素数
Java code

    public static void main(String[] args) throws ParseException
    {    
        for(int i=101;i<201;i++)
        {
            for(int j=2;j<Math.sqrt(i)+1;j++)
            {
                if(i%j==0)
                {
                    break;
                }
                if(j==(int)Math.sqrt(i)+1)
                {
                    System.out.println(i);
                }
            }
        }
    }

------解决方案--------------------
Java code

//判断num是不是素数,是则返回true
    public boolean isPrime(int num){
        if(num == 2 || num == 3)
            return true;
        if(num%2 == 0)//num为偶数
            return false;
        
        //num为奇数
        int d = 3;
        while(d <= Math.sqrt(num) && num % d != 0){
            d += 2;
        }
        if(num % d != 0)
            return true;
        return false;        
    }

------解决方案--------------------
for(int a=101;a<201;a++){
int i=2;
for(;i<a;i++){
if(a%i==0)
break;
}
if(a==i)
System.out.println(a);
}