题目内容:
我们认为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
思路:假设我们要求第二个素数和第四个素数之间的所有素数和,首先,我们先求出自然数中的前四个素数,用count计数,当count>4时,用break跳出循环,之后再用if设置满足2<=count=<4的条件,进行求和。
public class lianxi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int count=0;
int sum=0;
for(int i=2;;i++) {
int isprime=1;
for(int j=2;j<i;j++) {
if(i%j==0) {
isprime=0;
break;
}
}
if(isprime==1) {
count++;
if(count>=a&&count<=b) {
sum=sum+i;
}
if(count>b) {
break;
}
}
}
System.out.println(sum);
}
}