第四周编程作业 1素数和(5分)

1
素数和(5分)

题目内容:

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入格式:

两个整数,第一个表示n,第二个表示m。

输出格式:

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:

2 4

输出样例:

15

时间限制:1000ms内存限制:64000kb
 
 
 
import java.util.Scanner;

public class hello
{

    public static void main(String[] args) 
    {
    // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();
        int sum=0; //记第N个素数到第M个素数的和
        int a=0; //记录第几个素数
        int j=2; //记录第a个素数的值
            do
            {
            boolean b=true;
                for(int i=2;i<=(int)Math.sqrt(j) ;i++)
                {
                    if((j%i==0)&&j>2)
                    {
                        b=false; //执行则当前J不是素数
                        break; //跳出本次循环
                    }
                    
                }
                if(b==true) // 为TRUE时,当前J为素数,则对A计数
                {
                    a++;
                    
                    if(a>=n && a<=m) //对在N到M个间的素数计入和SUM
                        {
                        sum=sum+j;
//                        System.out.println(j+","+a);
                        }
                    
                }
                j++;
            }while(a<m);
            System.out.println(sum);
        
        
        
    }
}
原文地址:https://www.cnblogs.com/bcd589/p/6070469.html