计算100到200中间的素数的个数并输出

 题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
  则表明此数不是素数,反之是素数。

import java.util.*;
public class PrimeTest
{
  public static void main(String[] args)
  {
    int x=0;
    Vector v = new Vector();//集合,用来装所有的素数
    for(int i=101;i<=200;i++)
    {
      boolean b=true;//标签为b为真
      for(int j=2;j<i;j++)
      {
        if(i%j==0)//求余数是否为0
        {
          b = false;//如果为0, 将标签设置为false
          break;    //可以整除就跳出这个循环
        }
      }
      if(b==true)//
      {
        v.add(i);//将符合要求的i加到集合里
        x++; // 素数个数加1
      }
    }
    System.out.println("100到200中间有 "+x+" 个素数");
    System.out.println("素数为:\n"+v);
  }
}


方法2:

import java.util.*; 
public class PrimeTest 
{ 
  public static void main(String[] args) 
  { 
    int x=0; 
    Vector v =    new Vector(); 
    PrimeNumber pn = new PrimeNumber(); 
    for(int i=101;i<=200;i++) 
    { 
      if(pn.isPrimeNumber(i)==true) 
      { 
        v.add(i); 
        x++; 
      } 
    } 
    System.out.println("100到200之间有" + x + "个素数"); 
    System.out.println("100到200之间有素数为\n" + v); 
     
  } 
} 
class PrimeNumber 
{ 
  public boolean isPrimeNumber(int num) 
  { 
    boolean b = true; 
    for(int i=2;i<num;i++) 
    { 
      if(num%i==0) 
      { 
        b = false; 
        return b;//返回false 
      } 
    } 
    return b;//返回true 
  } 
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值