题目内容:
我们认为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++;
}
}