题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
注意,是第n个素数到第m个素数之间的所有的素数,并不是n和m之间的所有的素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
代码如下:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int m=input.nextInt();
int i=2,a=2;
int sum=0;
ArrayList<Integer> arr=new ArrayList<Integer>();
while(arr.size()<=m){
int isPrime=1;
for(a=2;a<i;a++){
if(i%a==0){
isPrime=0;
break;
}
}
if(isPrime==1){
arr.add(i);
}
i++;
}
for(int p=n-1;p<=m-1;p++){
sum=sum+arr.get(p);
}
System.out.println(sum);
input.close();
}
}