素数和

@spiritree  August 2, 2016

题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

  • 个人思考要点

1.判断素数的方法
2.第n个素数到第m个素数累加的实现

  • 解决方法

0.先决条件

    public static void main(String[] args) {
        int sum = 0;   //所求的素数的和
        int n,m;     //输入的2个数(n是第一个   m是第二个)
        int mark =1;   //记录第几个素数
        Scanner in =new Scanner(System.in);
        n =in.nextInt();
        m =in.nextInt();
            if(n==1) sum+=2;
            boolean IsPrime = false;

用boolean变量来表达是不是素数逻辑更简洁

  • 1.判断素数

 for (int j = 2; j<i; j++)
    {
       if(i % j == 0)
       {
          IsPrime=false;
          break;
       }
    }
  • 2.第n到m个素数累加实现

for(int i = 2;; i++)
{
   IsPrime=true;
   if(mark > m)   //标记超过第m素数就跳出循环
   {
       break;
   }
   {判断素数}
   if(IsPrime)
   {
      if(mark >= n)
      {
         sum+=i;
      }
      mark++;
   }
}

添加新评论