素数和
题目内容:
我们认为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.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();// 第一个表示n
int m = in.nextInt();// 第二个表示m
int count = 0;// 素数的个数
int sum1 = 0;// 前n个素数的和
int sum2 = 0;// 前m个素数的和
int last = 0;// 第n个素数
for (int i = 2;; i++) {
if (isprime(i) && count < n) {
sum1 += i;
sum2 += i;
count++;
last = i;
} else if (isprime(i) && count <= m) {
sum2 += i;
count++;
} else {
}
if (count == m) {
break;
}
}
System.out.println(sum2 - sum1 + last);// 一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
}
public static boolean isprime(int num)// 返回true是质数,false不是质数
{
int i;
boolean flag = true;// 默认是质数
if (num < 2)// 负数,0,1不是质数
{
flag = false;
} else if (num == 2)// 2是质数
{
flag = true;
} else {
for (i = 2; i <= Math.sqrt(num); i++)// 计算开方
{
if ((num % i) == 0)// 如果找到能够整除num,不是素数
{
flag = false;
break;
}
}
}
return flag;
}
}
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); // 第一个表示n int m = in.nextInt(); // 第二个表示m int count = 0 ; // 素数的个数 int sum1 = 0 ; // 前n个素数的和 int sum2 = 0 ; // 前m个素数的和 int last = 0 ; // 第n个素数 for ( int i = 2 ;; i++) { if (isprime(i) && count < n) { sum1 += i; sum2 += i; count++; last = i; } else if (isprime(i) && count <= m) { sum2 += i; count++; } else { } if (count == m) { break ; } } System.out.println(sum2 - sum1 + last); // 一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。 } public static boolean isprime( int num) // 返回true是质数,false不是质数 { int i; boolean flag = true ; // 默认是质数 if (num < 2 ) // 负数,0,1不是质数 { flag = false ; } else if (num == 2 ) // 2是质数 { flag = true ; } else { for (i = 2 ; i <= Math.sqrt(num); i++) // 计算开方 { if ((num % i) == 0 ) // 如果找到能够整除num,不是素数 { flag = false ; break ; } } } return flag; } } |